*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#101923;color:#f7eddc;font-family:Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #ffffff28;border-radius:9px;background:#1a2735ed;color:#f7eddc;padding:11px 15px}button:hover{background:#344353}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e9b371;outline-offset:3px}button[aria-pressed=true],button.active{background:#977046}#world{position:absolute;inset:0}canvas{display:block;touch-action:none}header{position:absolute;top:0;left:0;right:0;padding:22px 32px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#0b121bf2,transparent);pointer-events:none}header>*{pointer-events:auto}.logo{font-weight:900;color:#f7c78d;text-decoration:none;font-size:27px;letter-spacing:-1.3px}.logo span{color:#fff1df}.logo small{display:block;font-size:8px;letter-spacing:3px;margin-top:5px}.room-info{font-size:10px;letter-spacing:2px}.room-info>i{display:inline-block;background:#b8d4a3;width:6px;height:6px;border-radius:50%;margin-right:8px}.room-info>span{display:block;color:#a6b5bd;font-size:10px;letter-spacing:.3px;padding-top:9px;text-align:center}.left{position:absolute;top:120px;left:32px;width:235px;pointer-events:none}.left>*{pointer-events:auto}.eyebrow{color:#e8b980;font-size:9px;letter-spacing:1.7px}h1{font-size:40px;line-height:1.15;letter-spacing:-1px;margin:16px 0}h1 em{font-family:Georgia,serif;font-weight:400;color:#eebc83}#announcement{font-size:12px;color:#c4cbd0;line-height:1.6;max-width:215px;text-shadow:0 2px 8px #000}.legend{font-size:10px;display:grid;gap:10px;color:#b6bec5;margin:23px 0}.legend i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:8px}.amber{background:#edb875}.purple{background:#ad8bc1}.green{background:#9bb99a}.table-picker{font-size:9px;letter-spacing:1.4px;display:block;width:190px}select,input{width:100%;border:1px solid #ffffff25;border-radius:8px;background:#15202deb;color:#f0e4d1;padding:12px;margin:8px 0 12px;font-size:12px}.left button{font-size:10px;background:#16222bca}.music{position:absolute;top:112px;right:26px;background:#14202ee0;border:1px solid #b5b7c025;border-radius:12px;padding:13px;display:flex;gap:12px;align-items:center;box-shadow:0 15px 50px #0003}.music small{display:block;font-size:7px;letter-spacing:1.4px;color:#bda991}.music strong{display:block;font-size:12px;margin:6px 0}.music #sync{font-size:9px;color:#9caeba}.music button{font-size:10px;padding:8px}.disc{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:7px solid #4c4550;color:#e6b67c;background:#1c2832}#toast{position:absolute;bottom:138px;left:50%;transform:translateX(-50%);font-size:11px;background:#15212ce8;border:1px solid #bc946b55;padding:10px 17px;border-radius:20px;max-width:75%;text-align:center;pointer-events:none}.bottom{position:absolute;bottom:0;left:0;right:0;padding:12px 25px 18px;background:linear-gradient(transparent,#0d1623f5 35%);display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap}.bottom>div{display:flex;gap:7px}.bottom button{font-size:11px}.bottom>div:first-child button:first-child{background:#edba7d;color:#302b25;font-weight:bold}.crew button{background:#0e1924a0;border-color:#ffffff18;font-size:10px}.bottom small{width:100%;text-align:center;font-size:9px;color:#8598a6}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#111c29;font-size:16px;z-index:8}#loading.done{display:none}dialog{background:#14202e;color:#f1e7d6;border:1px solid #506073;border-radius:18px;width:min(470px,92vw);padding:30px;max-height:88vh;overflow:auto;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#030910aa;backdrop-filter:blur(5px)}.close{position:absolute;right:12px;top:12px;font-size:21px;padding:4px 11px}dialog h2{font-size:27px;margin:14px 0}dialog p{font-size:12px;line-height:1.6;color:#b7c4cc}dialog label{display:block;font-size:12px;margin-top:12px}.primary{width:100%;background:#e6b77c;color:#20242b;font-weight:bold}dialog section{padding:10px 0 18px;border-bottom:1px solid #ffffff15}dialog h3{font-size:14px}dialog .row{display:flex;gap:6px;flex-wrap:wrap}dialog button{font-size:12px}dialog small{display:block;font-size:10px;color:#a2afba;line-height:1.5;margin-top:12px}details{margin:20px 0;font-size:12px}#panel-message{color:#f5c58a}#logout{width:100%}[hidden]{display:none!important}@media(max-width:900px){.left{top:100px;left:20px;width:170px}h1{font-size:28px}.legend{display:none}.music{top:auto;bottom:145px;right:15px}.music small{display:none}#toast{bottom:215px;font-size:10px}.room-info{display:none}.bottom{gap:9px;padding:10px}.bottom>div{justify-content:center;flex-wrap:wrap}.left #announcement{font-size:10px}.table-picker{width:150px}.left .eyebrow{display:none}header{padding:18px 20px}.logo{font-size:23px}.bottom small{font-size:8px}.crew button{font-size:9px;padding:8px}.bottom>div:first-child button{padding:10px 13px}header button{font-size:10px}.music strong{font-size:10px}.music{padding:8px;gap:8px}.disc{width:26px;height:26px;border-width:5px}}@media(max-height:650px){.left h1{font-size:23px}.left{top:80px}.left .legend{display:none}.left #announcement{display:none}.music{top:90px;bottom:auto}#toast{bottom:115px}}

#bubbles{position:absolute;inset:0;pointer-events:none;overflow:hidden}.speech{position:absolute;transform:translate(-50%,-100%);background:#fff7e8;color:#243044;border-radius:13px;padding:8px 12px;font-size:12px;line-height:1.4;max-width:210px;min-width:40px;overflow-wrap:anywhere;box-shadow:0 3px 15px #0005}.speech:after{content:'';position:absolute;bottom:-6px;left:50%;border-width:6px 5px 0;border-style:solid;border-color:#fff7e8 transparent transparent}#chat-box{position:absolute;right:24px;bottom:128px;width:320px;max-height:52dvh;border:1px solid #65746b;border-radius:15px;background:#14202ef5;display:flex;flex-direction:column;padding:12px;z-index:4;box-shadow:0 12px 50px #0006}.chat-head{display:flex;align-items:center;justify-content:space-between;font-size:13px}.chat-head button{padding:6px 12px;font-size:19px}#online-count{color:#a6c7aa;font-size:10px}#chat-log{overflow-y:auto;overscroll-behavior:contain;min-height:70px;height:180px;font-size:12px;line-height:1.55;overflow-wrap:anywhere}#chat-log p{margin:10px 0}#chat-log strong{color:#edc18b}#chat-form,#join-form{display:flex;gap:7px;align-items:center}#join-form label{font-size:11px;flex:1}#chat-form input{min-width:0;margin:8px 0}#chat-form button,#join-form button{padding:11px}#chat-status{color:#a7b7c3;font-size:10px;padding-top:5px;line-height:1.4}#youtube-box{position:absolute;right:26px;top:195px;width:320px;background:#14202e;border-radius:10px;padding:8px;z-index:2}#youtube-player{width:100%;height:200px}#youtube-box small{display:block;font-size:10px;line-height:1.5;color:#cfccc6;padding-top:5px}button:disabled{opacity:.5}input,select{font-size:16px}#chat-count:not(:empty){color:#ffc87e}
@media(max-width:700px){header{padding:calc(12px + env(safe-area-inset-top)) 14px 12px}.logo{font-size:22px}header button{min-height:44px}.left{top:76px;left:12px;width:calc(100% - 24px);display:flex;gap:8px;align-items:center}.left h1,.left #announcement,.left .legend{display:none}.table-picker{font-size:0;width:155px}.table-picker select{font-size:12px;padding:11px 8px;margin:0;min-height:44px}.left button{min-height:44px;font-size:11px;padding:10px}.music{top:130px;bottom:auto;left:12px;right:auto;max-width:calc(100% - 24px);padding:8px 10px}.music button{min-height:44px;font-size:12px}.music strong{font-size:12px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music #sync{font-size:10px}.bottom{padding:10px 8px calc(10px + env(safe-area-inset-bottom));gap:5px}.bottom>div:first-child{width:100%;justify-content:space-between;gap:5px}.bottom>div:first-child button{flex:1;font-size:12px;padding:12px 7px;min-height:46px}.bottom .crew{display:none}.bottom small{font-size:9px}.bottom #photo{display:none}#toast{bottom:100px;max-width:90%;width:max-content;font-size:10px;padding:8px 12px}#chat-box{right:10px;left:10px;bottom:88px;width:auto;max-height:55dvh}#chat-log{height:160px}#chat-form input,#guest-name{font-size:16px}#chat-form button{min-height:44px}dialog{padding:24px 18px;max-height:90dvh}dialog button{min-height:44px}dialog input,dialog select{font-size:16px}#youtube-box{top:206px;right:12px;width:224px;padding:6px}#youtube-player{height:200px}.speech{font-size:11px;max-width:170px}}
@media(max-height:500px) and (orientation:landscape){.left{top:70px;width:260px}.music{left:12px;right:auto;top:125px;bottom:auto}.bottom{justify-content:flex-end}.bottom small,.bottom .crew{display:none}.bottom>div:first-child{width:auto}.bottom>div:first-child button{flex:none}#youtube-box{top:72px;right:12px;width:230px}#chat-box{top:64px;bottom:65px;left:auto;right:12px;width:310px;max-height:none}#toast{bottom:65px}}

.party-tools{position:absolute;left:32px;bottom:165px;display:grid;gap:7px}.party-tools button{font-size:11px;min-height:44px;background:#292443e8;border-color:#ab80bd66}.party-tools small{font-size:10px;color:#c6b5d4;text-align:center}@media(max-width:700px){.party-tools{left:12px;bottom:126px;gap:3px}.party-tools button{font-size:10px;padding:8px 10px}.party-tools small{font-size:9px}}@media(max-height:500px) and (orientation:landscape){.party-tools{left:12px;bottom:65px}}
