:root{color-scheme:dark;font:16px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#11141c;color:#f2f4ff}*{box-sizing:border-box}body{margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid #2a3043}header a{color:inherit;text-decoration:none;font-weight:800;letter-spacing:.08em}header a span{display:block;font-size:10px;color:#a6b4ff;margin-top:3px}#state{font-size:13px;color:#acb7db}main{max-width:1000px;margin:auto;padding:24px}#welcome{max-width:520px;margin:8vh auto}.badge{color:#a7b5ff;font-size:14px}h1{font-size:clamp(32px,8vw,52px);line-height:1.18;letter-spacing:-.03em;margin:20px 0}p{line-height:1.65;color:#c2c8de}.small{font-size:13px;color:#8f9ab9}button{font:inherit;color:inherit;background:#272d43;border:1px solid #3b4564;border-radius:12px;padding:13px 18px;min-height:46px;touch-action:none;user-select:none;-webkit-user-select:none}button:active,button[aria-pressed=true]{background:#5062bf}button:disabled{opacity:.5}#start,#sound{background:#6779e5;border:0;font-weight:650}#surface{position:relative;background:#05060a;border:1px solid #2d3550;border-radius:14px;overflow:hidden;aspect-ratio:16/9}video{width:100%;height:100%;object-fit:contain;display:block}#touch{position:absolute;inset:0;touch-action:none;-webkit-user-select:none;user-select:none}#paused{position:absolute;inset:0;place-content:center;text-align:center;pointer-events:none;background:#0b0e1ccc;padding:20px}#paused:not([hidden]){display:grid}#toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}#toolbar button{font-size:14px;padding:10px 14px}#disconnect{margin-left:auto}#keys{display:flex;justify-content:space-between;gap:20px;margin:18px 0}.arrows{display:grid;grid-template-columns:repeat(3,54px);gap:6px}.arrows button:first-child{grid-column:2}.arrows button:nth-child(2){grid-column:1}.arrows button{font-size:22px;padding:8px}.actions{display:flex;gap:8px;align-items:center}.actions button{min-width:64px;min-height:56px}body.expanded #player{position:fixed;inset:0;z-index:2;background:#11141c;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow:auto}body.expanded #surface{max-height:calc(100dvh - 160px);width:100%;aspect-ratio:auto;height:calc(100dvh - 160px)}[hidden]{display:none!important}@media(max-width:450px){main{padding:14px}header{padding:16px}.actions{gap:5px}.actions button{min-width:48px;padding:10px}#keys{gap:10px}.arrows{grid-template-columns:repeat(3,44px)}#toolbar button{padding:10px}#disconnect{margin-left:0}}@media(orientation:landscape) and (max-height:600px){#keys{margin:6px 0}.small{display:none}header{padding:8px 20px}main{padding:8px 20px}body.expanded #surface{height:calc(100dvh - 150px);max-height:calc(100dvh - 150px)}}

a{color:#a7b5ff}

#session-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}#session-nav[hidden]{display:none}#session-nav [aria-pressed="true"]{background:#7486ef;color:#fff}#session-nav #disconnect{margin-left:auto}
#library h1{font-size:clamp(26px,5vw,40px);line-height:1.2}#library label{display:block;margin:20px 0 8px}input,select{font:inherit;color:inherit;background:#1d2231;border:1px solid #4c5571;border-radius:12px;padding:13px;width:100%;box-sizing:border-box}#game-list{display:grid;gap:10px;margin-top:18px}#game-list button{text-align:left;display:flex;flex-direction:column;gap:5px;width:100%;overflow-wrap:anywhere}#game-list small{color:#b4bed6}#game-list [aria-pressed="true"]{outline:2px solid #91a0ff}.pages{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px}#game-choice{background:#1a2030;padding:20px;border-radius:16px;margin-top:24px}#game-choice h2{overflow-wrap:anywhere}#library-message{color:#c1ccff;min-height:1.5em}#stop-game,#confirm-stop{background:#793c4b}dialog{color:#eef2ff;background:#202637;border:1px solid #69728a;border-radius:16px;padding:24px;max-width:min(400px,85vw)}dialog::backdrop{background:#000a}dialog button{margin:8px 6px 0 0}
