@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.theme-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.theme-modal{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:18px;flex-direction:column;width:100%;max-width:480px;animation:.2s cubic-bezier(.16,1,.3,1) modalPop;display:flex;overflow:hidden;box-shadow:0 16px 40px #00000080}@keyframes modalPop{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.theme-modal__header{border-bottom:1px solid var(--border-color);background:var(--bg-elevated);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem 1rem;display:flex}.theme-modal__title-wrap{align-items:center;gap:.5rem;display:flex}.theme-modal__icon{font-size:1.3rem}.theme-modal__title{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:700}.theme-modal__close-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:#ffffff14;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;transition:all .15s;display:flex}.theme-modal__close-btn:hover{color:var(--text-primary);background:#ffffff26}.theme-modal__body{max-height:60vh;padding:1.25rem 1.5rem;overflow-y:auto}.theme-modal__subtitle{color:var(--text-secondary);margin-bottom:1rem;font-size:.85rem}.theme-modal__list{flex-direction:column;gap:.75rem;display:flex}.theme-card{background:var(--bg-elevated);border:2px solid var(--border-color);cursor:pointer;text-align:left;border-radius:12px;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;font-family:inherit;transition:all .2s;display:flex}.theme-card:hover{border-color:var(--accent-primary);transform:translateY(-1px)}.theme-card--selected{border-color:var(--accent-primary);background:var(--bg-surface);box-shadow:0 0 0 1px var(--accent-primary)}.theme-card__info{flex-direction:column;gap:.2rem;display:flex}.theme-card__name{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.theme-card__badge{background:var(--accent-primary);color:var(--btn-primary-text);text-transform:uppercase;letter-spacing:.05em;border-radius:6px;padding:.15rem .45rem;font-size:.65rem;font-weight:700}.theme-card__desc{color:var(--text-secondary);font-size:.75rem}.theme-card__swatches{align-items:center;gap:.3rem;display:flex}.theme-card__swatch{border:1px solid #0003;border-radius:50%;width:18px;height:18px;display:inline-block}.theme-modal__footer{border-top:1px solid var(--border-color);background:var(--bg-elevated);justify-content:flex-end;padding:1rem 1.5rem;display:flex}.theme-modal__done-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;border-radius:10px;padding:.6rem 1.4rem;font-size:.9rem;font-weight:600;transition:opacity .2s,transform .15s}.theme-modal__done-btn:hover{opacity:.9;transform:scale(1.02)}.home{background:var(--bg-base);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:1rem;transition:background-color .25s;display:flex;position:relative}.home__top-bar{z-index:10;position:absolute;top:1rem;right:1.25rem}.home__theme-btn{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:10px;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.home__theme-btn:hover{background:var(--bg-elevated);border-color:var(--accent-primary);transform:translateY(-1px)}.home__container{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:20px;width:100%;max-width:420px;padding:2.5rem 2rem;transition:all .25s;box-shadow:0 8px 32px #00000040}.home__header{text-align:center;margin-bottom:2rem}.home__logo{justify-content:center;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.home__logo-img{object-fit:contain;width:38px;height:38px}.home__title{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:2rem;font-weight:700}.home__subtitle{color:var(--text-secondary);margin:0;font-size:.875rem}.home__field{margin-bottom:1.5rem}.home__label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.8rem;font-weight:600;display:block}.home__input{background:var(--bg-elevated);border:1px solid var(--border-color);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:12px;outline:none;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.home__input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary)}.home__input::placeholder{color:var(--text-muted)}.home__input--code{letter-spacing:.15em;text-align:center;text-transform:uppercase;flex:1;font-family:JetBrains Mono,Fira Code,monospace;font-size:1.1rem}.home__error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);text-align:center;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}.home__actions{flex-direction:column;gap:1.25rem;display:flex}.home__section{flex-direction:column;gap:.75rem;display:flex}.home__btn{cursor:pointer;border:none;border-radius:12px;outline:none;padding:.85rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.home__btn:disabled{opacity:.45;cursor:not-allowed}.home__btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.home__btn--primary:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.home__btn--secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:1px solid var(--border-color)}.home__btn--secondary:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.home__divider{color:var(--text-muted);align-items:center;gap:1rem;font-size:.8rem;display:flex}.home__divider:before,.home__divider:after{content:"";background:var(--border-color);flex:1;height:1px}.home__join-row{align-items:center;gap:.75rem;display:flex}.home__code-display{text-align:center;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:14px;margin-bottom:1rem;padding:1.5rem}.home__code-label{color:var(--text-secondary);margin:0 0 .75rem;font-size:.85rem}.home__code-value{justify-content:center;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.home__code-value span{letter-spacing:.2em;color:var(--accent-highlight);font-family:JetBrains Mono,Fira Code,monospace;font-size:2rem;font-weight:700}.home__code-copy{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:.4rem .6rem;font-size:1.1rem;transition:all .2s}.home__code-copy:hover{background:var(--border-color)}.home__code-hint{color:var(--text-muted);margin:0 0 1rem;font-size:.8rem}.video-tile{background:var(--bg-surface);aspect-ratio:16/9;border:1px solid var(--border-color);border-radius:12px;position:relative;overflow:hidden}.video-tile__video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.video-tile--local .video-tile__video{transform:scaleX(-1)}.video-tile:not(.video-tile--local) .video-tile__video{transform:none}.video-tile--cam-off .video-tile__video{opacity:0}.video-tile__avatar{background:var(--bg-surface);flex-direction:column;justify-content:center;align-items:center;gap:.6rem;display:flex;position:absolute;inset:0}.video-tile__avatar-circle{background:var(--accent-secondary);color:#fff;letter-spacing:.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.5rem;font-weight:700;display:flex;box-shadow:0 4px 12px #0000004d}.video-tile__cam-off-badge{color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:99px;padding:.15rem .45rem;font-size:.68rem}.video-tile__label{color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-color);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;max-width:calc(100% - 1.5rem);padding:.2rem .5rem;font-size:.75rem;font-weight:500;position:absolute;bottom:.5rem;left:.75rem;overflow:hidden}.video-tile__you{opacity:.75}.video-tile__cam-indicator{opacity:.7;font-size:.7rem}.video-tile--thumbnail{aspect-ratio:16/9;border-radius:8px;flex-shrink:0;width:160px;min-width:160px}.video-tile--thumbnail .video-tile__avatar-circle{width:40px;height:40px;font-size:1rem}.chat-panel{background:var(--bg-surface);border-left:1px solid var(--border-color);flex-direction:column;height:100%;display:flex;position:relative}.chat-panel__header{border-bottom:1px solid var(--border-color);background:var(--bg-elevated);flex-shrink:0;justify-content:space-between;align-items:center;padding:.85rem 1.25rem .75rem;display:flex}.chat-panel__title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:700}.chat-panel__close-btn{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.85rem;line-height:1;transition:all .15s;display:flex}.chat-panel__close-btn:hover{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}@media (width>=640px){.chat-panel__close-btn{display:none}}@media (width<=639px){.chat-panel{background:var(--bg-surface);border-left:none}.chat-panel__header{background:var(--bg-elevated);padding:.9rem 1.2rem}.chat-panel__close-btn{width:34px;height:34px;font-size:1rem}}.chat-panel__messages{flex-direction:column;flex:1;gap:.5rem;padding:1rem;display:flex;overflow-y:auto}.chat-panel__empty{text-align:center;color:var(--text-muted);margin-top:2rem;font-size:.85rem}.chat-message{flex-direction:column;align-items:flex-start;max-width:85%;display:flex}.chat-message--own{align-self:flex-end;align-items:flex-end}.chat-message__sender{color:var(--text-secondary);margin-bottom:.2rem;padding-left:.25rem;font-size:.7rem}.chat-message__bubble{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-primary);word-break:break-word;white-space:pre-wrap;border-radius:12px 12px 12px 4px;padding:.5rem .75rem;font-size:.875rem;line-height:1.45}.chat-message--own .chat-message__bubble{background:var(--accent-secondary);color:#fff;border:1px solid var(--border-color);border-radius:12px 12px 4px}.chat-message__time{color:var(--text-muted);margin-top:.2rem;padding:0 .25rem;font-size:.65rem}.chat-panel__emoji-picker{border-top:1px solid var(--border-color);flex-shrink:0}.chat-panel__emoji-picker .EmojiPickerReact{--epr-bg-color:var(--bg-surface);--epr-category-label-bg-color:var(--bg-elevated);--epr-hover-bg-color:var(--bg-elevated);--epr-search-input-bg-color:var(--bg-elevated);--epr-search-input-text-color:var(--text-primary);--epr-text-color:var(--text-secondary);border:none!important;border-radius:0!important}.chat-panel__input-area{border-top:1px solid var(--border-color);background:var(--bg-elevated);flex-shrink:0;align-items:flex-end;gap:.5rem;padding:.75rem 1rem;display:flex}.chat-panel__emoji-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:.35rem;font-size:1.25rem;line-height:1;transition:background .15s}.chat-panel__emoji-btn:hover,.chat-panel__emoji-btn--active{background:var(--border-color)}.chat-panel__input{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);resize:none;border-radius:10px;outline:none;flex:1;max-height:100px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;line-height:1.4;transition:border-color .2s;overflow-y:auto}.chat-panel__input:focus{border-color:var(--accent-primary)}.chat-panel__input::placeholder{color:var(--text-muted)}.chat-panel__send-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;padding:.5rem .75rem;font-size:.9rem;transition:opacity .2s,transform .15s}.chat-panel__send-btn:hover:not(:disabled){opacity:.9;transform:scale(1.05)}.chat-panel__send-btn:disabled{opacity:.35;cursor:not-allowed}.room-controls{background:var(--bg-surface);border-top:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:.75rem;padding:.75rem 1.5rem;display:flex}.ctrl-btn-wrap{flex-direction:column;align-items:center;gap:.15rem;display:flex}.ctrl-btn__hint{color:var(--text-muted);letter-spacing:.02em;white-space:nowrap;font-size:.55rem}.ctrl-btn{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:.2rem;min-width:64px;min-height:54px;padding:.55rem 1rem;font-family:inherit;transition:all .2s;display:flex}.ctrl-btn:hover{background:var(--border-color);transform:translateY(-1px)}.ctrl-btn:active{transform:translateY(0)scale(.97)}.ctrl-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.ctrl-btn__icon{font-size:1.25rem;line-height:1}.ctrl-btn__label{letter-spacing:.02em;white-space:nowrap;font-size:.65rem;font-weight:600}.ctrl-btn--active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--btn-primary-text)}.ctrl-btn--danger,.ctrl-btn--leave{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.ctrl-btn--leave:hover{background:var(--error-border);color:#fff}.ctrl-btn-group{align-items:stretch;gap:.25rem;display:flex}.ctrl-btn--small{min-width:48px;padding:.4rem .5rem}.ctrl-btn--small .ctrl-btn__icon{font-size:1rem}.ctrl-btn--small .ctrl-btn__label{font-size:.55rem}.ctrl-btn--muted{background:var(--bg-elevated);border-color:var(--border-color);color:var(--text-muted)}.ctrl-btn--muted:hover{background:var(--border-color);color:var(--text-secondary)}@media (width<=639px){.room-controls{gap:.4rem;padding:.5rem .5rem .75rem}.ctrl-btn{border-radius:14px;min-width:52px;min-height:52px;padding:.5rem .6rem;font-size:.75rem}.ctrl-btn__label{font-size:.58rem}.ctrl-btn__hint{display:none}}.reaction-bar{background:var(--bg-surface);border-top:1px solid var(--border-color);z-index:20;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;padding:.4rem 1rem;display:flex;position:relative}.reaction-bar__reactions{align-items:center;gap:.35rem;display:flex}.reaction-btn{background:var(--bg-elevated);border:1px solid var(--border-color);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:.35rem .65rem;font-size:1.25rem;line-height:1;transition:all .15s;display:flex}.reaction-btn:hover{background:var(--border-color);transform:scale(1.15)translateY(-2px)}.reaction-btn:active{transform:scale(.95)}.reaction-btn--active{background:var(--accent-primary);border-color:var(--accent-primary)}.reaction-bar__divider{background:var(--border-color);width:1px;height:24px}.reaction-bar__sticker{position:relative}.sticker-form{background:var(--bg-surface);border:1px solid var(--border-color);z-index:50;border-radius:16px;flex-direction:column;gap:.5rem;width:320px;padding:.75rem;display:flex;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0006}.sticker-voice-selector{gap:.35rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.voice-pill{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:.25rem;padding:.25rem .55rem;font-size:.75rem;transition:all .15s;display:flex}.voice-pill--active{background:var(--accent-secondary);color:#fff;border-color:var(--accent-secondary);font-weight:600}.sticker-input-row{align-items:center;gap:.4rem;display:flex;position:relative}.sticker-input{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-primary);border-radius:10px;outline:none;flex:1;padding:.5rem 2.5rem .5rem .75rem;font-size:.85rem}.sticker-input:focus{border-color:var(--accent-primary)}.sticker-counter{color:var(--text-muted);pointer-events:none;font-size:.65rem;position:absolute;right:48px}.sticker-send-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;border-radius:10px;padding:.5rem .75rem;font-size:.95rem;transition:opacity .15s}.sticker-send-btn:disabled{opacity:.4;cursor:not-allowed}@media (width<=639px){.sticker-form{width:290px}}.floating-overlay{pointer-events:none;z-index:1000;position:fixed;inset:0;overflow:hidden}.floating-particle{-webkit-user-select:none;user-select:none;transform-origin:bottom;font-size:2rem;animation:2.5s ease-out forwards float-up;position:absolute;bottom:12%}@keyframes float-up{0%{opacity:1;transform:translateY(0)scale(1)}60%{opacity:.9;transform:translateY(-55vh)scale(1.2)}to{opacity:0;transform:translateY(-80vh)scale(.7)}}.floating-sticker{flex-direction:column;align-items:flex-start;gap:.2rem;max-width:240px;animation:4s ease-out forwards sticker-float;display:flex;position:absolute;bottom:18%}.floating-sticker__name{color:#ffffff80;background:#0006;border-radius:4px;padding:.1rem .4rem;font-size:.6rem}.floating-sticker__text{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);word-break:break-word;white-space:pre-wrap;background:linear-gradient(135deg,#7c3aedd9,#4f46e5d9);border:1px solid #ffffff26;border-radius:12px;padding:.35rem .75rem;font-size:.85rem;font-weight:600;box-shadow:0 4px 16px #0000004d}@keyframes sticker-float{0%{opacity:0;transform:translateY(0)}8%{opacity:1;transform:translateY(-10px)}75%{opacity:1;transform:translateY(-40px)}to{opacity:0;transform:translateY(-70px)}}.room{background:var(--bg-base);height:100vh;color:var(--text-primary);flex-direction:column;transition:background-color .25s;display:flex;overflow:hidden}.room__header{background:var(--bg-surface);border-bottom:1px solid var(--border-color);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:.6rem 1.25rem;display:flex}.room__header-left{align-items:center;gap:.6rem;display:flex}.room__logo-img{object-fit:contain;width:28px;height:28px}.room__code{letter-spacing:.12em;color:var(--accent-highlight);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:6px;padding:.2rem .6rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;font-weight:700}.room__host-badge{color:var(--btn-primary-text);background:var(--accent-primary);border:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.06em;border-radius:5px;padding:.15rem .5rem;font-size:.65rem;font-weight:700}.room__header-right{align-items:center;gap:.75rem;display:flex}.room__theme-btn{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:8px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.room__theme-btn:hover{background:var(--border-color)}.room__participant-count{color:var(--text-secondary);font-size:.8rem}.room__body{flex:1;min-height:0;display:flex;overflow:hidden}.room__video-area{flex:1;justify-content:center;align-items:center;min-width:0;padding:1rem;display:flex;position:relative;overflow:hidden}.room__chat{background:var(--bg-surface);border-left:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:280px;min-width:280px;display:flex;overflow:hidden}.room__connecting{color:var(--text-secondary);flex-direction:column;align-items:center;gap:1rem;font-size:.9rem;display:flex}.room__spinner{border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.room__grid{gap:.75rem;width:100%;max-width:100%;height:100%;max-height:100%;display:grid}.room__grid--1{grid-template-columns:1fr;max-width:640px}.room__grid--2{grid-template-columns:repeat(2,1fr)}.room__grid--3{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr)}.room__grid--3>:first-child{grid-column:span 2;max-width:60%;margin:0 auto}.room__grid--4{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr)}.room__screenshare-layout{flex-direction:column;gap:.75rem;width:100%;height:100%;display:flex}.room__screen-main{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.room__screen-video-wrap{border:2px solid var(--border-color);background:#000;border-radius:12px;width:100%;height:100%;position:relative;overflow:hidden}.room__screen-video{object-fit:contain;width:100%;height:100%;display:block}.room__screen-badge{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);z-index:5;pointer-events:none;border-radius:8px;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;display:flex;position:absolute;top:.75rem;left:.75rem;box-shadow:0 4px 12px #0006}.room__fullscreen-btn{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:.35rem .6rem;font-size:1.1rem;transition:background .2s;position:absolute;top:.75rem;right:.75rem}.room__fullscreen-btn:hover{background:var(--border-color)}.room__thumbnail-strip{flex-shrink:0;align-items:center;gap:.5rem;height:110px;padding:.25rem 0;display:flex;overflow-x:auto}.room__thumbnail-strip::-webkit-scrollbar{height:4px}.room--error{background:var(--bg-base);justify-content:center;align-items:center}.room__error-box{text-align:center;background:var(--bg-surface);border:1px solid var(--error-border);border-radius:16px;max-width:360px;padding:2.5rem}.room__error-box h2{color:var(--error-text);margin-bottom:.75rem;font-size:1.25rem}.room__error-box p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem}.room__error-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;border-radius:10px;padding:.65rem 1.5rem;font-size:.9rem;font-weight:600}@media (width<=639px){.room__header{padding:.5rem .75rem}.room__code{letter-spacing:.08em;font-size:.75rem}.room__video-area{padding:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px))}.room__body--chat-open .room__chat{width:100%;height:100%;min-width:unset;background:var(--bg-surface);z-index:100;padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;display:flex;position:fixed;inset:0}.room__grid--2,.room__grid--3,.room__grid--4{grid-template-columns:1fr;grid-template-rows:unset;align-content:start;height:auto;overflow-y:auto}.room__grid--3>:first-child{grid-column:1;max-width:100%;margin:0}.room__thumbnail-strip{flex-direction:row;height:80px;overflow-x:auto}}:root,html[data-theme=love-is-in-the-air]{--bg-base:#1e1222;--bg-surface:#29182e;--bg-elevated:#36203d;--border-color:#52315e;--text-primary:#fedcd3;--text-secondary:#d4c4de;--text-muted:#8e7399;--accent-primary:#d14e3a;--accent-secondary:#955dc2;--accent-highlight:#f87d5c;--btn-primary-bg:#d14e3a;--btn-primary-text:#fff;--btn-secondary-bg:#955dc2;--btn-secondary-text:#fff;--badge-bg:#f87d5c;--badge-text:#fff;--error-bg:#d14e3a25;--error-border:#d14e3a;--error-text:#fedcd3}html[data-theme=brown-broom-broom]{--bg-base:#1f1510;--bg-surface:#2e1f18;--bg-elevated:#35261e;--border-color:#4a2d13;--text-primary:#fdedd4;--text-secondary:#b99683;--text-muted:#8c6d5b;--accent-primary:#a76f39;--accent-secondary:#6e3916;--accent-highlight:#b99683;--btn-primary-bg:#a76f39;--btn-primary-text:#fff;--btn-secondary-bg:#4a2d13;--btn-secondary-text:#fdedd4;--badge-bg:#6e3916;--badge-text:#fdedd4;--error-bg:#6e391640;--error-border:#a76f39;--error-text:#fdedd4}html[data-theme=modern-country]{--bg-base:#1c2b22;--bg-surface:#25392d;--bg-elevated:#334e3d;--border-color:#476852;--text-primary:#fdedd4;--text-secondary:#b8c6c9;--text-muted:#889d93;--accent-primary:#c1a84c;--accent-secondary:#e5d0a1;--accent-highlight:#fdedd4;--btn-primary-bg:#c1a84c;--btn-primary-text:#1c2b22;--btn-secondary-bg:#334e3d;--btn-secondary-text:#fdedd4;--badge-bg:#c1a84c;--badge-text:#1c2b22;--error-bg:#991b1b30;--error-border:#ef4444;--error-text:#fca5a5}html[data-theme=dark]{--bg-base:#0d0d1a;--bg-surface:#16162a;--bg-elevated:#22223d;--border-color:#335;--text-primary:#fff;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-primary:#8b5cf6;--accent-secondary:#6366f1;--accent-highlight:#3b82f6;--btn-primary-bg:#8b5cf6;--btn-primary-text:#fff;--btn-secondary-bg:#22223d;--btn-secondary-text:#fff;--badge-bg:#8b5cf6;--badge-text:#fff;--error-bg:#ef444420;--error-border:#ef4444;--error-text:#fca5a5}html[data-theme=light]{--bg-base:#f1f5f9;--bg-surface:#fff;--bg-elevated:#e2e8f0;--border-color:#cbd5e1;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent-primary:#6366f1;--accent-secondary:#8b5cf6;--accent-highlight:#0ea5e9;--btn-primary-bg:#6366f1;--btn-primary-text:#fff;--btn-secondary-bg:#e2e8f0;--btn-secondary-text:#0f172a;--badge-bg:#6366f1;--badge-text:#fff;--error-bg:#fee2e2;--error-border:#ef4444;--error-text:#991b1b}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--bg-base);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;transition:background-color .25s,color .25s;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
