@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=DM+Sans:wght@700&display=swap";.page-wrapper{width:100%;overflow-x:hidden}.header{position:fixed;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:24px 40px;z-index:100}.header-logo{justify-self:start;font-family:"Instrument Serif",Georgia,serif;font-size:26px;font-weight:700;color:#1a1a1a;letter-spacing:-.5px}.header-github{justify-self:center;display:flex;align-items:center;line-height:0;border-radius:6px;transition:opacity .15s}.header-github:hover{opacity:.85}.header-github-badge{display:block;height:20px;width:auto;max-width:min(140px,28vw)}.header-actions{justify-self:end;display:flex;align-items:center;gap:8px}.header-btn{display:flex;align-items:center;justify-content:center;gap:6px;background:#1a1a1a0f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;color:#1a1a1a73;padding:8px 12px;border-radius:20px;cursor:pointer;font-size:12px;font-weight:600;font-family:inherit;transition:color .2s,background .2s}.header-btn:hover{color:#1a1a1a;background:#1a1a1a1a}.header-btn span{letter-spacing:.2px}.volume-icon.muted{color:#1a1a1a40}.volume-icon.muted svg path:last-child,.volume-icon.muted svg path:nth-child(2){display:none}.volume-icon{padding:8px;border-radius:50%}.volume-icon span{display:none}.single-screen{--header-offset: 80px;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding-top:var(--header-offset);box-sizing:border-box}.single-screen-stack{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(12px,2.5vh,28px);padding:0 40px max(16px,env(safe-area-inset-bottom,0px));box-sizing:border-box;overflow-y:auto}.hero-area{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:0 24px}.board-area{flex:0 0 auto;align-self:stretch;width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0;min-height:0}.hero{text-align:center}.hero h1{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(17px,3.35vw,48px);font-weight:700;letter-spacing:0;line-height:1.15;margin:0 auto;color:#1a1a1a;white-space:nowrap}.hero .subtitle{font-size:clamp(8px,1.45vw,17px);color:#888;line-height:1.5;font-weight:400;margin:0 auto;white-space:nowrap;letter-spacing:-.01em}.scroll-indicator{display:none}.display-frame{background:#0a0a0a;border-radius:6px;padding:12px 16px 14px;box-shadow:0 40px 100px #00000059,0 15px 40px #00000040,0 4px 12px #00000026;max-width:960px;width:100%}.board-controls{margin-top:20px;display:inline-flex;align-items:center;gap:8px}.popup-wrap{position:relative}.ctrl-btn{width:36px;height:36px;border-radius:50%;background:#1a1a1acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ffffffa6;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:background .2s,color .2s;box-shadow:0 4px 20px #00000026}.ctrl-btn:hover{background:#1a1a1af2;color:#fff}.ctrl-btn--active{background:#ffffffe6;color:#1a1a1a}.ctrl-btn--active:hover{background:#fff;color:#1a1a1a}.popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.popup{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:#0e0e0ef7;border:1px solid rgba(255,255,255,.1);border-radius:12px;z-index:100;white-space:nowrap;overflow:hidden}.popup-section-label{font-size:10px;font-weight:700;color:#ffffff59;text-transform:uppercase;letter-spacing:1px;padding:12px 16px 6px}.cast-popup{min-width:260px;padding-bottom:8px}.cast-option{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;background:none;border:none;cursor:pointer;color:#ffffffbf;text-align:left;transition:background .15s,color .15s}.cast-option:hover{background:#ffffff12;color:#fff}.cast-option svg{flex-shrink:0;opacity:.65}.cast-option:hover svg{opacity:1}.cast-option-text{display:flex;flex-direction:column;gap:2px}.cast-option-title{font-size:12px;font-weight:600;letter-spacing:.1px}.cast-option-desc{font-size:10.5px;color:#fff6;font-weight:400;white-space:normal;line-height:1.35}.shortcuts-popup{min-width:220px;padding-bottom:10px}.shortcut-row{display:flex;justify-content:space-between;align-items:center;padding:5px 16px;font-size:12px;color:#ffffffb3}.shortcut-row kbd{background:#ffffff1a;padding:2px 7px;border-radius:4px;font-family:inherit;font-size:11px;color:#ffffff8c;margin-left:20px}.msg-popup{min-width:280px;max-width:320px;white-space:normal}.popup-header-row{display:flex;align-items:center;justify-content:space-between;padding-right:10px}.popup-expand-btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#ffffff12;border:none;border-radius:6px;color:#fff6;cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.popup-expand-btn:hover{background:#ffffff24;color:#ffffffd9}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center}.messages-modal{background:#141414;border:1px solid rgba(255,255,255,.1);border-radius:16px;width:520px;max-width:calc(100vw - 32px);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 32px 80px #0009;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.modal-header h3{font-size:15px;font-weight:700;color:#ffffffe6}.modal-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff12;border:none;border-radius:8px;color:#ffffff73;cursor:pointer;transition:background .15s,color .15s}.modal-close:hover{background:#ffffff21;color:#ffffffe6}.modal-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}.modal-msg-list{max-height:none;flex:1;padding:8px 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.modal-msg-list::-webkit-scrollbar{width:4px}.modal-msg-list::-webkit-scrollbar-track{background:transparent}.modal-msg-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.modal-msg-list::-webkit-scrollbar-thumb:hover{background:#ffffff40}.modal-msg-list .msg-item{padding:10px 20px}.modal-msg-list .msg-item-label{font-size:13px}.modal-msg-list .msg-item-preview{font-size:12px}.modal-add-form{border-top:1px solid rgba(255,255,255,.07);padding:16px 20px 20px;flex-shrink:0}.modal-form-label{font-size:10px;font-weight:700;color:#ffffff59;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.modal-add-form .draft-input{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#ffffffd9}.modal-add-form .draft-input:focus{border-color:#ffffff4d;background:#ffffff17;outline:none}.modal-add-form .draft-textarea{background-color:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#ffffffd9}.modal-add-form .draft-textarea:focus{border-color:#ffffff4d;outline:none}.modal-add-new-btn{margin:0 16px 16px!important;width:calc(100% - 32px)!important}.msg-list{max-height:240px;overflow-y:auto;padding:4px 0 8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.msg-list::-webkit-scrollbar{width:4px}.msg-list::-webkit-scrollbar-track{background:transparent}.msg-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.msg-list::-webkit-scrollbar-thumb:hover{background:#ffffff40}.msg-item{display:flex;align-items:center;gap:8px;padding:8px 16px;cursor:pointer;border-left:2px solid transparent;transition:background .1s}.msg-item:hover{background:#ffffff0d}.msg-item.active{background:#ffffff12;border-left-color:#ffffff80}.msg-item-content{flex:1;min-width:0}.msg-item-label{font-size:12px;font-weight:700;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-item-preview{font-size:11px;color:#ffffff59;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.msg-item-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.msg-item-edit{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;border-radius:4px;color:#ffffff59;cursor:pointer;opacity:.35;transition:opacity .15s,color .15s}.msg-item:hover .msg-item-edit{opacity:1}.msg-item-edit:hover{color:#ffffffd9}.msg-item-delete{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;font-size:15px;color:#fff3;border-radius:4px;opacity:.35;transition:opacity .15s,color .15s;line-height:1}.msg-item:hover .msg-item-delete{opacity:1}.msg-item-delete:hover{color:#f55}.add-new-btn{display:block;width:calc(100% - 24px);margin:0 12px 12px;padding:9px 12px;background:#ffffff0d;border:1px dashed rgba(255,255,255,.15);border-radius:8px;color:#fff6;font-size:12px;font-weight:600;text-align:center;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.add-new-btn:hover{background:#ffffff17;border-color:#ffffff4d;color:#ffffffb3}.add-form{padding:12px;border-top:1px solid rgba(255,255,255,.07)}.add-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.msg-emoji{font-size:16px;flex-shrink:0;line-height:1}.emoji-field{display:flex;align-items:center;gap:4px}.emoji-trigger{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#fff6;font-size:15px;cursor:pointer;transition:background .15s,border-color .15s}.emoji-trigger:hover{background:#ffffff24;border-color:#ffffff40}.emoji-clear{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:none;border-radius:4px;color:#ffffff59;font-size:13px;line-height:1;cursor:pointer;transition:background .15s,color .15s}.emoji-clear:hover{background:#ff505033;color:#f55}.emoji-picker{background:#0a0a0af7;border:1px solid rgba(255,255,255,.1);border-radius:10px;overflow:hidden;margin-bottom:8px}.emoji-tabs{display:flex;padding:5px 5px 0;gap:1px;border-bottom:1px solid rgba(255,255,255,.07)}.emoji-tab{flex:1;display:flex;align-items:center;justify-content:center;padding:5px 0;background:none;border:none;border-radius:6px 6px 0 0;font-size:13px;cursor:pointer;opacity:.45;transition:opacity .12s,background .12s}.emoji-tab:hover{opacity:.75;background:#ffffff0d}.emoji-tab.active{opacity:1;background:#ffffff14}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;padding:5px;max-height:130px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.emoji-grid::-webkit-scrollbar{width:3px}.emoji-grid::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.emoji-opt{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:5px;font-size:15px;cursor:pointer;transition:background .1s;line-height:1}.emoji-opt:hover{background:#ffffff1a}.form-title-group{display:flex;align-items:center;gap:6px}.draft-input{display:block;width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:7px 10px;font-family:SF Mono,Fira Code,Courier New,monospace;font-size:11px;font-weight:700;color:#ffffffd9;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:5px;transition:border-color .15s,background .15s}.draft-input::placeholder{color:#fff3;font-weight:400;letter-spacing:0;text-transform:none}.draft-input:focus{border-color:#ffffff4d;outline:none;background:#ffffff17}.draft-textarea{display:block;width:100%;resize:vertical;background-color:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:9px 10px;font-family:SF Mono,Fira Code,Courier New,monospace;font-size:11px;font-weight:700;color:#ffffffd9;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:0;line-height:1.45;transition:border-color .15s,background-color .15s;box-sizing:border-box}.draft-textarea::placeholder{color:#fff3;font-weight:400;letter-spacing:0;text-transform:none}.draft-textarea:focus{border-color:#ffffff4d;outline:none}.draft-textarea:not(.message-composer-textarea):focus{background-color:#ffffff17}.message-composer-textarea{--msg-row-height: 18px;line-height:var(--msg-row-height);min-height:calc(6 * var(--msg-row-height) + 18px);padding:9px 10px;resize:vertical;background-color:#ffffff0f}.message-composer-textarea:focus{outline:none;border-color:#ffffff4d;background-color:#ffffff17}.message-composer-hint{font-size:11px;line-height:1.4;color:#ffffff61;margin:0 0 8px}.message-composer-hint--remote{color:#ffffff73;margin-bottom:10px}.add-form-actions{display:flex;gap:6px;margin-top:8px;justify-content:flex-end}.form-cancel{padding:7px 13px;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff6;font-size:12px;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s}.form-cancel:hover{border-color:#ffffff59;color:#ffffffb3}.form-save{padding:7px 16px;background:#ffffffe6;border-radius:6px;color:#111;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s}.form-save:hover{background:#fff}.board{container-type:inline-size;--h-pad: 96px;--tile-gap: clamp(2px, .4cqi, 5px);--tile-size: clamp( 12px, calc((100cqi - var(--h-pad) - 21 * var(--tile-gap)) / 22), 58px );position:relative;background:#1a1a1a;border-radius:3px;padding:56px 48px 64px;width:100%;overflow:hidden}.tile-grid{display:grid;grid-template-columns:repeat(var(--grid-cols, 22),var(--tile-size));grid-template-rows:repeat(var(--grid-rows, 6),var(--tile-size));gap:var(--tile-gap);justify-content:center}.accent-bar{position:absolute;top:30px;display:flex;flex-direction:column;gap:3px;z-index:5}.accent-bar-left{left:18px}.accent-bar-right{right:18px}.accent-segment{width:14px;height:14px;border-radius:2px;transition:background-color .5s ease}.tile{width:var(--tile-size);height:var(--tile-size);perspective:400px;background:#111;border-radius:4px}.tile-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d}.tile-front,.tile-back{position:absolute;top:1px;right:1px;bottom:1px;left:1px;backface-visibility:hidden;background:#262626;border-radius:3px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 3px #00000080,inset 0 -1px 1px #ffffff08;overflow:hidden}.tile-front span,.tile-back span{font-size:calc(var(--tile-size) * .52);font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;line-height:1;font-family:SF Mono,Fira Code,Courier New,monospace}.tile-back{transform:rotateX(180deg)}.tile-front span.emoji-char,.tile-back span.emoji-char{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:calc(var(--tile-size) * .6);font-weight:400;letter-spacing:0}.label-emoji-btn{color:#ffffffb3}.tile-front:after,.tile-back:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#00000059;pointer-events:none}.tile-front:before,.tile-back:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.08) 45%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.08) 55%,transparent 100%);opacity:0;pointer-events:none;transition:opacity .15s}.tile-inner.flipping{animation:tileFlip var(--flip-duration, .3s) ease-in-out forwards}.tile-inner.flipping .tile-front:before,.tile-inner.flipping .tile-back:before{opacity:1}@keyframes tileFlip{0%{transform:rotateX(0)}50%{transform:rotateX(-90deg)}to{transform:rotateX(-180deg)}}.tile-inner.flipping,.tile.scrambling .tile-inner{will-change:transform}@media (min-width: 2000px){.board{--tile-size: clamp(12px, calc((100cqi - var(--h-pad) - 21 * var(--tile-gap)) / 22), 70px)}.hero h1{font-size:68px}}@media (max-width: 900px){.board{--h-pad: 32px;padding:44px 16px 56px}.header{padding:18px 24px}.single-screen{--header-offset: 72px}.single-screen-stack{padding-left:24px;padding-right:24px}.hero h1{font-size:clamp(17px,4.2vw,36px)}.accent-segment{width:12px;height:12px}}@media (max-width: 600px){.board{--h-pad: 16px;padding:20px 8px 32px}.header{padding:14px 16px}.single-screen{--header-offset: 64px}.single-screen-stack{padding-left:16px;padding-right:16px}.header-logo{font-size:20px}.hero h1{font-size:clamp(15px,3.9vw,26px);letter-spacing:0}.accent-bar,.keyboard-hint{display:none}.display-frame{padding:8px 10px 10px}.msg-panel{width:100%}}@media (max-width: 768px){.hero h1{white-space:normal;max-width:100%;padding:0 12px;font-size:clamp(20px,5.6vw,32px);letter-spacing:0;line-height:1.2}.hero .subtitle{white-space:normal;max-width:min(520px,100%);padding:0 16px;font-size:clamp(14px,3.5vw,17px);line-height:1.55;letter-spacing:0}}:fullscreen .page-wrapper{width:100vw;height:100vh;background:#1a1a1a;overflow:hidden}:fullscreen .header,:fullscreen .hero-area,:fullscreen .board-controls{display:none!important}:fullscreen .single-screen{width:100vw;height:100vh;height:100dvh;padding-top:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center}:fullscreen .single-screen-stack{flex:1 1 auto;min-height:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;gap:0}:fullscreen .board-area{width:100%;height:100%;max-height:100%;display:flex;align-items:center;justify-content:center;padding:0}:fullscreen .display-frame{width:100%;max-width:100vw;border-radius:0;background:#1a1a1a;padding:0;box-shadow:none}:fullscreen .board{border-radius:0;--h-pad: 120px;padding:60px;--tile-size: clamp(12px, calc((100cqi - 120px - 21 * var(--tile-gap)) / 22), 80px)}@media (max-width: 600px){.tv-mode-toggle span{display:none}.tv-mode-toggle{padding:8px;border-radius:50%}}.tv-mode{width:100vw;height:100vh;background:#1a1a1a;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.tv-board-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0}.tv-mode .display-frame{width:100%;max-width:100vw;border-radius:0;background:#1a1a1a;padding:0;box-shadow:none}.tv-mode .board{border-radius:0;background:#1a1a1a;--h-pad: 120px;padding:60px;--tile-size: clamp(12px, calc((100cqi - 120px - 21 * var(--tile-gap)) / 22), 80px)}.tv-pairing-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:48px;width:100%;height:100%}.tv-logo{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(48px,6vw,80px);font-weight:700;color:#ffffffe6;letter-spacing:-1px}.pairing-code-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;animation:fadeInUp .5s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.pairing-code-label{font-family:SF Mono,Fira Code,Courier New,monospace;font-size:13px;font-weight:700;color:#ffffff59;letter-spacing:3px;text-transform:uppercase;text-align:center}.pairing-code-tiles{display:flex;gap:10px}.pairing-tile{width:56px;height:68px;background:#262626;border-radius:4px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 3px #00000080,inset 0 -1px 1px #ffffff08,0 4px 12px #0000004d;position:relative}.pairing-tile:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#00000059}.pairing-tile span{font-family:SF Mono,Fira Code,Courier New,monospace;font-size:30px;font-weight:700;color:#fff;z-index:1}.pairing-timer{display:flex;align-items:center;gap:8px;width:100%}.pairing-timer-bar{flex:1;height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden}.pairing-timer-fill{height:100%;background:#ffffff4d;border-radius:2px;transition:width 1s linear}.pairing-timer-text{font-family:SF Mono,Fira Code,Courier New,monospace;font-size:10px;color:#ffffff4d;min-width:36px}.tv-connected-badge{position:fixed;bottom:32px;right:32px;z-index:50;display:flex;align-items:center;gap:8px;padding:8px 14px;background:#ffffff0f;border-radius:20px;font-size:12px;font-weight:600;color:#ffffff80;animation:badgeFadeInOut 2s ease forwards}@keyframes badgeFadeInOut{0%{opacity:0;transform:translateY(12px)}15%{opacity:1;transform:translateY(0)}75%{opacity:1}to{opacity:0}}.tv-connected-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 8px #10b98180}.tv-mode-badge{position:fixed;top:32px;right:32px;z-index:50;padding:6px 14px;background:#ffffff14;border-radius:16px;font-size:11px;font-weight:700;color:#fff6;letter-spacing:1px;text-transform:uppercase}.tv-exit-btn{position:fixed;top:32px;left:32px;z-index:50;width:36px;height:36px;border-radius:50%;background:#ffffff0f;border:none;color:#ffffff4d;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s}.tv-exit-btn:hover{background:#ffffff1f;color:#ffffffb3}.tv-confetti-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#000000d9;animation:confettiFadeIn .3s ease}@keyframes confettiFadeIn{0%{opacity:0}to{opacity:1}}.tv-confetti-text{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(36px,5vw,64px);color:#fff;font-weight:700;animation:confettiPop .6s cubic-bezier(.34,1.56,.64,1) .2s both;z-index:1}@keyframes confettiPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.tv-confetti-piece{position:fixed;top:-20px;left:var(--x);width:10px;height:10px;background:var(--color);border-radius:2px;animation:confettiFall var(--duration) ease-in var(--delay) forwards;z-index:201}.tv-confetti-piece:nth-child(2n){width:8px;height:14px;border-radius:50%}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}80%{opacity:1}to{transform:translateY(100vh) rotate(var(--rotation));opacity:0}}.mobile-mode{display:flex;flex-direction:column;min-height:100dvh;background:#0a0a0a;color:#fff;-webkit-font-smoothing:antialiased}.mobile-mode>.remote-control{flex:1 1 0;min-height:0;overflow-y:auto}.mobile-connect{position:relative;min-height:100dvh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 max(24px,env(safe-area-inset-right,0px)) 0 max(24px,env(safe-area-inset-left,0px));text-align:center;box-sizing:border-box}.mobile-connect-lead{margin-bottom:20px;max-width:320px}.mobile-connect-title{font-family:"Instrument Serif",Georgia,serif;font-size:26px;font-weight:700;color:#fff;margin:0 0 10px;letter-spacing:-.03em;line-height:1.2}.mobile-connect-sub{margin:0;font-size:15px;line-height:1.5;color:#ffffff73}.mobile-connect-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;background:#fff;border:none;border-radius:10px;color:#000;font-size:13px;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 14px #ffffff14}.mobile-connect-btn svg{width:16px;height:16px;flex-shrink:0}.mobile-connect-btn:hover{transform:scale(1.02)}.mobile-connect-btn:active{transform:scale(.98)}.mobile-entering{min-height:100dvh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 max(24px,env(safe-area-inset-right,0px)) 0 max(24px,env(safe-area-inset-left,0px));position:relative;box-sizing:border-box}.mobile-back-btn{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));left:max(20px,env(safe-area-inset-left,0px));width:40px;height:40px;border-radius:50%;background:#ffffff14;border:none;color:#fff9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.mobile-back-btn:hover{background:#ffffff24}.code-entry{width:100%;max-width:340px;text-align:center;padding:0 8px}.code-entry-header{margin-bottom:32px}.code-entry-icon{width:56px;height:56px;border-radius:16px;background:#ffffff0f;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#ffffff80}.code-entry h2{font-size:22px;font-weight:700;color:#fff;margin-bottom:6px}.code-entry p{font-size:14px;color:#fff6}.code-inputs{display:flex;gap:6px;justify-content:center;margin-bottom:16px;padding:0 16px}.code-digit{flex:1;min-width:0;max-width:48px;aspect-ratio:4 / 5;border-radius:10px;border:2px solid rgba(255,255,255,.12);background:#ffffff0a;color:#fff;font-family:SF Mono,Fira Code,Courier New,monospace;font-size:clamp(18px,5vw,24px);font-weight:700;text-align:center;caret-color:#fff;transition:border-color .2s,background .2s}.code-digit:focus{border-color:#ffffff80;background:#ffffff14;outline:none}.code-digit.filled{border-color:#ffffff4d;background:#ffffff0f}.code-digit.error{border-color:#ef4444;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.code-error{color:#ef4444;font-size:13px;margin-top:8px}.code-loading{display:flex;align-items:center;justify-content:center;gap:8px;color:#ffffff80;font-size:14px;margin-top:12px}.code-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.1);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.success-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0a0a0a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;animation:fadeIn .3s ease}.success-text{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(36px,8vw,52px);font-weight:700;color:#ffffffe6;letter-spacing:-.5px;animation:popIn .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.remote-control{display:flex;flex-direction:column;min-height:100vh}.rc-status-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#0a0a0af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}.rc-status-left{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#ffffffb3}.rc-status-dot{width:8px;height:8px;border-radius:50%;transition:background .3s}.rc-status-dot.online{background:#10b981;box-shadow:0 0 8px #10b98180}.rc-status-dot.offline{background:#ef4444;box-shadow:0 0 8px #ef444480}.rc-disconnect-btn{padding:6px 12px;background:#ffffff0f;border:none;border-radius:8px;color:#fff6;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.rc-disconnect-btn:hover{background:#ef444426;color:#ef4444}.rc-offline-banner{padding:16px;background:#ef444414;border-bottom:1px solid rgba(239,68,68,.15);text-align:center}.rc-offline-banner p{font-size:13px;color:#ffffff80;margin-bottom:10px}.rc-retry-btn{padding:8px 20px;background:#ffffff14;border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.rc-tabs{display:flex;padding:8px 12px 0;gap:4px;border-bottom:1px solid rgba(255,255,255,.06)}.rc-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 8px 12px;background:none;border:none;border-bottom:2px solid transparent;color:#ffffff59;font-size:12px;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s}.rc-tab:hover{color:#fff9}.rc-tab.active{color:#fff;border-bottom-color:#fff}.rc-content{flex:1;overflow-y:auto;padding:16px 16px 40px}.rc-section{display:flex;flex-direction:column;gap:12px}.rc-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px}.rc-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.rc-card-header h3,.rc-card-title{font-size:12px;font-weight:700;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.rc-save-btn{width:28px;height:28px;border-radius:8px;background:#ffffff0f;border:none;color:#ffffff59;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s}.rc-save-btn:hover{background:#ffffff1f;color:#ffffffb3}.rc-card-header-actions{display:flex;align-items:center;gap:6px}.rc-emoji-btn{width:28px;height:28px;border-radius:8px;background:#ffffff0f;border:none;color:#ffffff59;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s}.rc-emoji-btn:hover,.rc-emoji-btn.active{background:#ffffff1f;color:#ffffffb3}.rc-emoji-picker{background:#ffffff0a;border-radius:10px;padding:8px;margin-bottom:10px;animation:fadeInUp .2s ease}.rc-emoji-tabs{display:flex;gap:2px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.rc-emoji-tab{padding:4px 8px;border-radius:6px;background:none;border:none;font-size:16px;cursor:pointer;opacity:.5;transition:opacity .15s,background .15s;flex-shrink:0}.rc-emoji-tab.active{opacity:1;background:#ffffff14}.rc-emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;max-height:160px;overflow-y:auto;-webkit-overflow-scrolling:touch}.rc-emoji-opt{padding:6px;border-radius:6px;background:none;border:none;font-size:18px;cursor:pointer;transition:background .1s;text-align:center}.rc-emoji-opt:hover{background:#ffffff1a}.rc-emoji-opt:active{background:#ffffff26;transform:scale(1.15)}.rc-message-input{width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px;font-family:SF Mono,Fira Code,Courier New,monospace;font-size:14px;font-weight:600;color:#fff;letter-spacing:1px;text-transform:uppercase;resize:none;transition:border-color .2s}.rc-message-input::placeholder{color:#fff3;text-transform:none;letter-spacing:0;font-weight:400}.rc-message-input:focus{border-color:#ffffff4d;outline:none}.message-composer--remote .rc-message-input.message-composer-textarea{--msg-row-height: 22px;line-height:var(--msg-row-height);min-height:calc(6 * var(--msg-row-height) + 24px);resize:vertical;background-color:#ffffff0a}.message-composer--remote .rc-message-input.message-composer-textarea:focus{border-color:#ffffff4d;outline:none;background-color:#ffffff0f}.rc-send-row{display:flex;align-items:center;gap:6px;margin-top:8px}.rc-send-row .rc-save-btn{flex-shrink:0;width:30px;height:30px}.rc-send-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;margin-top:10px;background:#fff;border:none;border-radius:12px;color:#000;font-size:15px;font-weight:700;cursor:pointer;transition:transform .1s,opacity .15s}.rc-send-btn:active{transform:scale(.98)}.rc-send-btn:disabled{opacity:.3;cursor:not-allowed}.rc-send-btn-sm{flex:1;padding:8px 12px;margin-top:0;font-size:12px;border-radius:8px;gap:5px}.rc-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;box-sizing:border-box;background:#ffffff1a;border-radius:9999px;font-size:11px;font-weight:700;line-height:1;color:#ffffff80}.rc-saved-list{display:flex;flex-direction:column;gap:4px;margin-top:8px}.rc-saved-item-wrap{display:flex;flex-direction:column;gap:6px}.rc-saved-edit{margin-top:2px}.rc-saved-edit .message-composer{width:100%}.rc-saved-item{display:flex;align-items:center;gap:8px}.rc-saved-send{flex:1;padding:10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:10px;color:#ffffffb3;font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:background .15s}.rc-saved-send:hover{background:#ffffff14}.rc-saved-item-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.rc-saved-edit-btn{width:28px;height:28px;border-radius:8px;background:none;border:none;color:#ffffff59;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.rc-saved-edit-btn:hover{color:#ffffffbf}.rc-saved-delete{width:28px;height:28px;border-radius:8px;background:none;border:none;color:#fff3;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.rc-saved-delete:hover{color:#ef4444}.rc-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.rc-mode-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:10px;color:#fff9;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.rc-mode-btn:hover{background:#ffffff0f}.rc-mode-btn.active{background:#ffffff14;border-color:#fff3;color:#fff}.rc-mode-icon{width:32px;height:32px;border-radius:8px;background:#ffffff0a;display:flex;align-items:center;justify-content:center}.rc-mode-btn.active .rc-mode-icon{background:#ffffff1a}.rc-mode-btn span:nth-child(2){font-size:11px;font-weight:700}.rc-mode-desc{font-size:10px;color:#ffffff4d;font-weight:400!important}.rc-chip-scroll{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.rc-chip{padding:6px 10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:20px;color:#fff9;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.rc-chip:hover{background:#ffffff14;color:#fff}.rc-speed-btns{display:flex;gap:6px;margin-top:10px}.rc-speed-btn{flex:1;padding:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:8px;color:#ffffff80;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.rc-speed-btn.active{background:#ffffff1a;border-color:#ffffff40;color:#fff}.rc-toggle-row{display:flex;align-items:center;justify-content:space-between}.rc-toggle{width:40px;height:24px;border-radius:12px;border:none;padding:2px;cursor:pointer;transition:background .2s}.rc-toggle.on{background:#10b981}.rc-toggle.off{background:#ffffff26}.rc-toggle-knob{display:block;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0000004d}.rc-toggle.on .rc-toggle-knob{transform:translate(16px)}.rc-color-grid{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.rc-color-btn{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s}.rc-color-btn:hover{transform:scale(1.1)}.rc-color-btn.active{border-color:#fff;transform:scale(1.15)}.rc-text-color-btn{padding:8px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:10px;cursor:pointer;transition:background .15s,border-color .15s}.rc-text-color-btn span{font-size:12px;font-weight:700}.rc-text-color-btn.active{background:#ffffff14;border-color:#ffffff40}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;background:#f5f0eb;color:#1a1a1a;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button{border:none;cursor:pointer;font-family:inherit}input{outline:none;font-family:inherit}.toast{position:fixed;bottom:40px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:8px 20px;border-radius:8px;font-size:14px;font-weight:600;z-index:9999;pointer-events:none;animation:fadeInOut 1.2s ease forwards}@keyframes fadeInOut{0%{opacity:0}15%{opacity:1}75%{opacity:1}to{opacity:0}}
