*{box-sizing:border-box}body{margin:0;background:#0f0f0f;color:#eee;font-family:Arial,sans-serif;font-size:16px}a{color:inherit}button,.btn{display:inline-block;border:1px solid #82304c;background:#341522;color:#ff5790;padding:10px 16px;border-radius:8px;cursor:pointer;text-decoration:none;font:inherit}button:hover,.btn:hover{background:#512038}header{padding:15px;border-bottom:1px solid #532035;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;position:sticky;top:0;background:#101010;z-index:5}nav{display:flex;gap:8px;flex-wrap:wrap}main{max-width:760px;margin:24px auto;padding:0 16px}.card,fieldset{background:#1a1a1a;border:1px solid #303030;border-radius:10px;padding:18px;margin:16px 0}.card img,.card video{width:100%;max-height:600px;object-fit:contain;border-radius:8px}label{display:block;margin:14px 0 6px}input,textarea,select{width:100%;padding:12px;background:#111;color:#eee;border:1px solid #444;border-radius:6px;font:inherit}textarea{min-height:90px}small,.muted{color:#aaa}.error{padding:14px;background:#4b1725}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row>*{flex:1}details{margin:18px 0}summary{cursor:pointer;color:#ff5790}input[type=checkbox]{width:auto}.thumb{max-width:80px!important;max-height:80px!important}.stage{position:relative;height:100dvh;height:100svh;min-height:480px;max-width:480px;margin:auto;overflow:hidden;background:#17111b}.scene{position:absolute;width:100%;height:100%;object-fit:cover}.gamebar{position:absolute;top:0;left:0;right:0;padding:12px;display:flex;gap:8px;z-index:2;background:linear-gradient(#000a,transparent)}.gamebar select{width:auto;max-width:115px}.dialogue{position:absolute;bottom:0;left:0;right:0;padding:48px 22px max(22px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#09090beF 30%);max-height:55%;overflow:auto}.dialogue p{font-size:18px;line-height:1.55;margin:10px 0 18px;white-space:pre-wrap}.speaker{color:#ff73a4;font-weight:bold}.choices{display:grid;gap:8px}.hidden{display:none!important}@media(min-width:600px){.stage{height:90vh;margin:5vh auto;border-radius:16px;box-shadow:0 0 40px #000}}:focus-visible{outline:2px solid #ff80ae;outline-offset:3px}

.site-logo{max-width:240px;max-height:64px;object-fit:contain}header{gap:14px}footer{text-align:center;padding:30px;color:#999}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:12px;border-bottom:1px solid #444}.table-scroll{overflow:auto}
