:root{font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif;color:#24333b;background:#f5f7f6}*{box-sizing:border-box}body{margin:0}main{max-width:1100px;margin:auto;padding:48px 32px}header,.bar{display:flex;align-items:center;justify-content:space-between;gap:20px}h1{font-size:36px;letter-spacing:-1.5px;margin:8px 0}h2{font-size:18px;margin:0 0 16px}p,small{color:#77858b;line-height:1.6}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:#66a694}.badge,#mode{border-radius:30px;background:#e5f3ec;padding:8px 13px;color:#417963;font-size:12px;font-weight:700}.card{background:white;border:1px solid #e7edeb;border-radius:18px;padding:24px;box-shadow:0 8px 28px #213e3010}#entry{max-width:500px;margin:55px auto}label{display:block;font-size:13px;font-weight:700;margin:18px 0}input,select{border:1px solid #dce6e2;border-radius:9px;padding:12px;font:inherit;background:#fff;min-width:0}label input{display:block;width:100%;margin-top:8px}button{background:#347a64;color:white;border:0;border-radius:9px;padding:12px 17px;font-weight:700;cursor:pointer}.secondary{background:#edf4f1;color:#376c5d}.actions{display:flex;gap:8px;margin:24px 0}.bar{margin:40px 0 20px}.bar h2{margin:7px 0}.bar strong{color:#347a64;letter-spacing:2px}.content{display:grid;grid-template-columns:2fr 1fr;gap:16px}#messages{height:230px;overflow-y:auto;padding:8px;background:#f8faf9;border-radius:10px}.msg{margin:9px 0;font-size:14px;overflow-wrap:anywhere}.msg.private{color:#394449;font-weight:600}#chat{display:flex;gap:8px;margin-top:12px}#chat input{flex:1}#members{font-size:14px;line-height:2.3}.hint{font-size:13px;margin:25px 0 12px}.stage-label{margin:32px 0 12px;font-size:13px;font-weight:700}.stage-label span{float:right;color:#9aa8a2;font-weight:400}#stage{position:relative;height:180px;background:linear-gradient(#e9f6ef 0 78%,#c8e2ce 78%);border-radius:18px;overflow:visible}.character{position:absolute;bottom:25px;transform:translateX(-50%);width:56px;text-align:center;cursor:pointer;transition:left .12s linear}.sprite{font-size:38px;line-height:1;display:block;filter:drop-shadow(0 3px 0 #68867466)}.character span.name{display:block;background:white;border-radius:10px;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px}.bubble{position:absolute;bottom:75px;left:50%;transform:translateX(-50%);background:white;color:#34403d;border-radius:12px;padding:8px;min-width:45px;max-width:160px;box-sizing:content-box;overflow-wrap:anywhere;white-space:pre-wrap;line-height:16px;max-height:calc(100vh - 112px);overflow-y:auto;font-size:12px;z-index:1}.bubble.private{background:#202727;color:white}#error{color:#bd5050;margin:15px 0}[hidden]{display:none!important}@media(max-width:700px){main{padding:24px 16px}.content{grid-template-columns:1fr}#chat{flex-wrap:wrap}#chat input{min-width:140px}}

.desktop-content{grid-template-columns:1fr}

.character-picker{border:0;padding:0;margin:20px 0}.character-picker legend{font-size:13px;font-weight:700}.character-options{display:flex;gap:12px;margin-top:10px}.character-option{margin:0;display:flex;align-items:center;flex-direction:column;gap:4px;padding:10px 18px;border:1px solid #dce6e2;border-radius:12px;cursor:pointer}.character-option:has(input:checked){border-color:#347a64;background:#e5f3ec}.character-option input{width:auto;margin:0;accent-color:#347a64}.character-preview{display:block;width:64px;height:64px;background-size:384px 128px;background-repeat:no-repeat;image-rendering:pixelated}.bear-preview{background-image:url('/assets/characters/bear-sprite.png')}.cat-preview{background-image:url('/assets/characters/cat-sprite.png')}

.rabbit-preview{background-image:url('/assets/characters/rabbit-sprite.png')}

.character span.name{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);width:max-content;max-width:110px;color:#000;line-height:1.2;padding:3px}.character .bubble{bottom:75px}

.character.jumping{animation:character-jump .65s ease-out}@keyframes character-jump{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-48px)}}
