/* Conservado desde v0.2.1: el atributo hidden tiene prioridad sobre estilos display del escenario. */
[hidden] { display: none !important; }
:root{color-scheme:dark;--bg:#111016;--surface:#1b1921;--surface2:#25222b;--muted:#9993a3;--stroke:#39313d;--pink:#f13e85;--pink2:#ff7da9;--green:#9fea8b;--white:#f9f5f9;--yellow:#fbe989;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--white);overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--pink2);outline-offset:2px}[hidden]{display:none!important}.noise{z-index:10;pointer-events:none;opacity:.11;position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E")}.entry-veil{position:fixed;inset:0;z-index:15;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 45% 22%,#57233d 0,#1b1420 38%,#100e15 78%)}.entry-card{width:min(460px,100%);border:1px solid #69445b;background:linear-gradient(160deg,#29202d,#19151d);border-radius:20px;padding:40px;box-shadow:0 22px 75px #08070caa;position:relative;overflow:hidden}.entry-card:before{content:"";position:absolute;top:-52px;right:-42px;height:170px;width:170px;background:var(--pink);border-radius:50%;filter:blur(95px);opacity:.3}.seal,.brand-icon{font-size:34px;font-weight:1000;letter-spacing:-4px;transform:skew(-9deg);color:white}.seal span,.brand-icon span{color:var(--pink)}.entry-card h1{font-size:clamp(42px,8vw,65px);line-height:1;margin:25px 0 14px;letter-spacing:-3px;font-weight:1000}.entry-card h1 em{font-style:normal;color:var(--pink2)}.entry-card p{color:#c9bbc9;line-height:1.6;font-size:14px}.eyebrow{color:#ff92b7;letter-spacing:2px;font-size:9px;font-weight:900;margin-top:10px}.entry-card form{display:flex;flex-direction:column;gap:10px;margin-top:26px}.entry-card label{font-size:10px;letter-spacing:1.2px;font-weight:900;color:#bca9bf;margin-top:8px}.entry-card input{background:#120f17;color:#fff;border:1px solid #554251;border-radius:9px;padding:14px}.entry-card .join-button{margin-top:12px;justify-content:space-between;padding:16px}.join-note{font-size:11px;color:#9c8b9c;line-height:1.5;text-align:center;margin-top:10px}.app-shell{max-width:1700px;margin:0 auto}.topbar{height:76px;background:#16131b;border-bottom:1px solid var(--stroke);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:18px}.brand,.top-center,.room-status{display:flex;align-items:center;gap:12px}.brand-icon{font-size:26px;white-space:nowrap}.brand strong{font-size:17px;font-weight:1000;letter-spacing:2px}.brand small{font-size:9px;color:#a49aa7;letter-spacing:1.3px;display:block;margin-top:4px}.top-center{font-size:11px;letter-spacing:1.6px;font-weight:900;color:#e8dfe8}.top-center b{background:#472036;color:#ffb8d1;padding:6px 10px;border-radius:4px;font-size:10px}.live-dot{background:#f5448a;width:7px;height:7px;border-radius:100%;box-shadow:0 0 12px #f5448a}.room-status{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:1.5px}.room-status button{color:#f3dde6;background:#29242e;border:1px solid #4b3b4a;border-radius:6px;padding:9px}.room-status .online{color:#a7efae;letter-spacing:1px;white-space:nowrap}.main-grid{display:grid;grid-template-columns:minmax(0,1fr) 366px;min-height:calc(100vh - 76px)}.court-col{padding:25px clamp(15px,2.4vw,36px) 20px;min-width:0;background:radial-gradient(circle at 48% 34%,#261b2b,transparent 60%),#15121a}.court-banner{height:70px;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 7px}.court-banner small,.aside-heading small{color:#ff7da9;font-size:10px;font-weight:1000;letter-spacing:2px}.court-banner h2{margin:7px 0;font-size:23px;letter-spacing:-.5px}.chapter-stamp{display:flex;align-items:center;gap:8px;transform:skew(-7deg)}.chapter-stamp small{font-size:8px;max-width:40px}.chapter-stamp b{font-size:42px;font-weight:1000;color:#433342}.court-scene{height:clamp(325px,42vw,460px);position:relative;overflow:hidden;border:1px solid #55374a;border-radius:11px 11px 0 0;background:linear-gradient(170deg,#181521,#281426 42%,#4a1e3c 76%,#2a1826);isolation:isolate}.scene-grid{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 65px,#ff69ac17 66px 67px,transparent 68px 131px),repeating-linear-gradient(0deg,transparent 0 56px,#f66ba613 57px 58px,transparent 59px 115px);mask-image:linear-gradient(black,transparent 90%)}.scene-glow{position:absolute;left:23%;top:12%;width:53%;height:90%;background:radial-gradient(ellipse,#f5269552,transparent 65%);filter:blur(20px)}.court-scene:before,.court-scene:after{content:"";position:absolute;top:-20%;width:26%;height:115%;background:repeating-linear-gradient(90deg,#331a33 0 9px,#652644 9px 13px,#1f1926 13px 30px);opacity:.8;transform:skew(-12deg)}.court-scene:before{left:-11%}.court-scene:after{right:-11%;transform:skew(12deg)}.dais{position:absolute;left:9%;width:82%;border-radius:50%;border:12px solid #733455;transform:perspective(400px) rotateX(61deg);box-shadow:0 10px 0 #2c142a,0 20px 0 #160f1b,0 30px 18px #130d18}.dais-back{bottom:-71px;height:270px;background:radial-gradient(ellipse,#713352,#2d1b31);opacity:.76}.dais-front{bottom:-180px;height:275px;z-index:5;background:linear-gradient(0deg,#281626,#7a375c);border-width:16px;box-shadow:0 15px 0 #210f1a}.center-diamond{position:absolute;top:44%;left:49%;font-size:32px;color:#e66f9b}.scene-toplabel{position:absolute;top:19px;left:20px;z-index:3;font-weight:900;letter-spacing:2px;font-size:9px;color:#f6c4da}.scene-toplabel b{color:#ff69a5}.deco-bar{position:absolute;top:-15px;width:18px;height:180px;box-shadow:0 0 22px #ff4d9b4a;background:linear-gradient(90deg,#f44383,#ffadd0,#8f184c);opacity:.75;transform:rotate(21deg)}.bar-left{left:25%}.bar-right{right:25%;transform:rotate(-21deg)}.podiums{position:absolute;bottom:30%;left:5%;right:5%;display:flex;justify-content:space-around;z-index:2;align-items:flex-end;gap:15px;opacity:.7}.podium{height:80px;min-width:52px;flex:1;max-width:125px;background:linear-gradient(105deg,#362638,#7d3b62 65%,#2f192e);border:2px solid #9d567b;border-radius:8px 8px 22px 22px;transform:perspective(350px) rotateX(8deg);box-shadow:0 12px 0 #261825,0 14px 10px #0c0b0fa6;text-align:center;padding-top:16px}.podium:nth-child(1),.podium:nth-child(5){transform:translateY(20px) rotate(-8deg);opacity:.7}.podium:nth-child(3){transform:translateY(-35px);opacity:.38}.podium:nth-child(4){transform:translateY(9px) rotate(3deg)}.podium span{display:block;color:#b287ac;font-size:16px;font-weight:900}.podium i{display:block;color:#e9b8cf;font-size:8px;letter-spacing:1px;font-style:normal}.portrait-halo{position:absolute;z-index:3;top:9%;left:50%;width:38%;height:87%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at center,#9f2b674f 0,#dd408627 46%,transparent 75%);filter:blur(13px)}.portrait-outline{position:absolute;z-index:3;bottom:19px;left:50%;transform:translateX(-50%);width:min(310px,54%);height:90%;border:1px solid #fe5d9d2e;clip-path:polygon(50% 0,100% 27%,100% 100%,0 100%,0 27%)}.portrait{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);height:89%;width:auto;max-width:70%;object-fit:contain;object-position:center bottom;image-rendering:auto;z-index:4;filter:drop-shadow(0 12px 22px #160717df) drop-shadow(0 0 3px #ff80ae77);transition:opacity .12s, transform .21s;opacity:1}.portrait.change{opacity:.5;transform:translateX(-50%) translateY(9px) scale(.98)}.portrait-credit{position:absolute;z-index:6;bottom:11px;left:16px;display:flex;align-items:center;gap:8px;color:white;background:#18131fc7;border-left:3px solid var(--pink);padding:8px 12px;letter-spacing:1px;font-size:11px;font-weight:1000;max-width:58%}.portrait-credit small{font-size:8px;color:#ff81ae}.signal-bars{color:#f25792;font-size:11px}.stage-counter{position:absolute;right:17px;bottom:12px;z-index:6;color:#ffd1e6;display:flex;gap:7px;align-items:center;background:#1d1324a1;padding:6px 9px}.stage-counter span{font-weight:900;font-size:22px}.stage-counter small{font-weight:900;font-size:8px;max-width:65px;line-height:1.3}.dialogue-box{position:relative;min-height:151px;background:linear-gradient(110deg,#29202e,#221b27);border:1px solid #67344f;border-top:0;padding:17px 25px 17px 27px;box-shadow:0 10px 35px #0f0a18}.dialogue-stripe{position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--pink)}.dialogue-upper{display:flex;align-items:center;justify-content:space-between;gap:8px}.dialogue-name{color:#fff;text-transform:uppercase;font-weight:1000;letter-spacing:1.3px;font-size:17px}.msg-meta{color:#b28ca7;font-size:9px;letter-spacing:1px;font-weight:800}.dialogue-text{font-weight:600;line-height:1.5;font-size:clamp(15px,1.7vw,19px);min-height:54px;margin:16px 0 6px;overflow-wrap:anywhere}.dialogue-bottom{display:flex;align-items:center;justify-content:space-between;color:#ab8fa4;letter-spacing:1.5px;font-size:9px;font-weight:800}.dialogue-dots{color:var(--pink)}.interaction-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0}.emotion-picker{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.emotion-picker>span{font-size:10px;color:#9a879b;letter-spacing:1px;font-weight:800;margin-right:5px}.emotion{background:#2a2530;border:1px solid #504054;color:#bfb0c0;padding:9px 13px;font-size:10px;letter-spacing:1px;border-radius:5px;font-weight:900}.emotion.active{background:#74304e;color:#ffdfeb;border-color:#e55b91}.user-tag{display:flex;align-items:center;gap:9px;font-size:11px;color:#d4becf;font-weight:900;letter-spacing:.4px}.user-tag i{color:var(--pink);font-size:18px}.write-panel{display:flex;align-items:center;min-height:65px;padding-left:16px;background:#241e29;border:1px solid #655165;border-radius:7px;gap:12px}.write-icon{font-size:23px;color:#f377a5}.write-panel input{background:none;border:0;outline:0!important;min-width:0;flex:1;color:white;font-size:14px;padding:12px 0}.write-panel input::placeholder{color:#827487}.counter{font-size:10px;color:#95879d}.btn{border:0;border-radius:5px;font-weight:1000;letter-spacing:1.2px;font-size:11px;transition:filter .13s,transform .13s}.btn:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:linear-gradient(110deg,#e32d70,#fd5794);color:#fff}.btn-secondary{background:#5f324c;color:white}.send-btn{align-self:stretch;margin:6px;padding:0 18px}.send-btn b{margin-left:11px;font-size:16px}.short-note{display:flex;justify-content:space-between;gap:10px;color:#78707f;font-size:10px;margin-top:9px}.sidebar{background:#1b1821;border-left:1px solid #3b303e;padding:25px 22px 15px;display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 76px);overflow-y:auto}.aside-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--stroke)}.aside-heading small{font-size:9px}.aside-heading h3{font-size:14px;margin:6px 0 0;letter-spacing:1px;font-weight:1000}.aside-mark{font-size:29px;font-weight:900;color:var(--pink)}.side-section{display:flex;flex-direction:column;gap:11px}.side-title{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:900;letter-spacing:1px}.side-title span{display:flex;gap:7px;align-items:center}.side-title i{font-size:10px;font-style:normal;color:#f77aa5}.side-title b{background:#3a303f;border-radius:3px;color:#d5b6d0;font-size:9px;padding:5px 7px}.roster{display:flex;gap:7px;flex-wrap:wrap}.person{display:flex;align-items:center;gap:7px;padding:7px 9px;background:#292330;border-radius:5px;border:1px solid #4b3a4e;max-width:100%}.person .avatar{height:23px;width:23px;display:grid;place-items:center;color:white;font-weight:900;border-radius:5px;font-size:13px;background:#a82d63}.person.blue .avatar{background:#4668b0}.person.yellow .avatar{background:#a88f25}.person.violet .avatar{background:#744f9c}.person.green .avatar{background:#34896a}.person.orange .avatar{background:#b76e30}.person strong{font-size:11px;max-width:113px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person em{font-size:8px;color:#f5b2c9;font-style:normal}.empty-small{font-size:11px;color:#918296}.side-hint{font-size:10px;line-height:1.5;color:#98899d;margin:0}.truth-list,.statement-list{display:flex;flex-direction:column;gap:7px}.truth,.statement{background:#28232d;border:1px solid #443547;border-radius:6px;display:flex;text-align:left;align-items:flex-start;gap:11px;padding:10px 11px;color:#e8dce6;width:100%}.truth:hover,.statement:hover{border-color:#dc6b9b}.truth.selected,.statement.selected{border-color:#f74c92;background:#48263b;box-shadow:inset 3px 0 0 var(--pink)}.truth .item-index{font-size:10px;color:#f96fa3;padding-top:3px;white-space:nowrap;font-weight:900}.truth strong,.statement strong{font-size:11px;display:block}.truth small,.statement small{font-size:10px;color:#aa99ac;display:block;line-height:1.4;margin-top:4px}.statement.solved{opacity:.55}.statement.solved strong{text-decoration:line-through}.shoot-btn{width:100%;background:#7f2851;color:#fff;padding:11px}.action-feedback{font-size:11px;color:#e8b6cf;min-height:14px}.votes-panel{padding-top:10px;border-top:1px solid var(--stroke)}.votes-panel select{background:#29232e;border:1px solid #65405a;padding:10px;color:white;border-radius:5px}.votes-panel button{padding:10px}.host-btn{width:100%;padding:14px;background:#efe7ef;color:#402239;display:flex;justify-content:space-between}.timeline-section{padding-top:9px;border-top:1px solid var(--stroke)}.log{max-height:150px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.log-item{background:#241e2a;border-left:2px solid #69405c;padding:7px 9px;font-size:10px;color:#a99ba8;line-height:1.5;overflow-wrap:anywhere}.log-item strong{color:#fac7da}.sidebar-footer{display:flex;justify-content:space-between;gap:8px;color:#756a79;font-size:8px;letter-spacing:1px;margin-top:auto;padding-top:10px;border-top:1px solid #3a303f}.toast{position:fixed;z-index:30;bottom:20px;left:50%;transform:translateX(-50%) translateY(30px);background:#f3e8f1;color:#2d1e2c;max-width:min(90vw,450px);border-radius:8px;padding:13px 20px;font-size:13px;font-weight:800;box-shadow:0 10px 30px #0006;opacity:0;transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast.error{background:#ffa2ba}@media(max-width:1100px){.main-grid{grid-template-columns:minmax(0,1fr) 300px}.sidebar{padding:22px 16px}.court-col{padding:17px}.top-center{display:none}}@media(max-width:800px){.main-grid{display:flex;flex-direction:column}.sidebar{max-height:none;overflow:visible;border-left:0;border-top:1px solid #493449}.topbar{padding:0 12px;height:66px}.brand strong{font-size:13px}.brand small{font-size:7px}.room-status{gap:5px}.room-status>span:first-child{display:none}.court-scene{height:370px}.court-banner{height:64px}.court-banner h2{font-size:20px}.roster{gap:8px}}@media(max-width:490px){.topbar{gap:8px}.room-status .online{display:none}.brand-icon{font-size:23px}.court-scene{height:305px}.portrait{height:87%}.podium{min-width:22px}.podium i{font-size:6px}.podium span{font-size:11px}.stage-counter{display:none}.dialogue-box{padding:13px 15px 13px 19px;min-height:150px}.dialogue-upper{align-items:flex-start;flex-direction:column}.emotion-picker>span{width:100%}.write-panel{gap:7px}.write-panel input{font-size:12px}.send-btn{padding:0 10px;font-size:9px}.counter{display:none}.short-note{flex-wrap:wrap}.entry-card{padding:28px}}
/* ===== v0.2 3D TRIAL STAGE ===== */
.entry-new{padding-top:27px;padding-bottom:25px;overflow:hidden}.entry-new h1{margin:17px 0 5px}.entry-new p{margin-top:12px}.entry-characters{height:145px;display:flex;align-items:flex-end;justify-content:space-evenly;overflow:hidden;position:relative;margin-top:5px;border-bottom:2px solid #ad3c75;background:linear-gradient(180deg,transparent,#3d213665)}.entry-characters img{height:148px;width:auto;max-width:31%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 0 8px #090510cc)}.entry-characters img:nth-child(2){height:170px}.entry-characters img:nth-child(3){height:142px}.entry-new form{margin-top:15px}.entry-new label{margin-top:4px}
.stage-3d{height:clamp(360px,54vh,660px);background:radial-gradient(circle at center,#28192f,#0d0b15 80%);position:relative;overflow:hidden;border:1px solid #593450;cursor:grab;touch-action:pan-y;user-select:none}.stage-3d:active{cursor:grabbing}#court-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}.stage-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,transparent 35%,#1009188c 98%),linear-gradient(180deg,#110c1699 0%,transparent 16%,transparent 77%,#110a1bb5 100%)}.labels-layer{position:absolute;inset:0;pointer-events:none;z-index:4}.seat-tag{position:absolute;min-width:56px;max-width:145px;background:#18131edb;border:1px solid #ca6d9c9c;border-left:3px solid #fa4d8f;padding:4px 8px;color:#f7e7f0;transform:translate(-50%,-50%);backdrop-filter:blur(5px);font-size:10px;text-align:center;letter-spacing:.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 5px 14px #0007}.seat-tag.focused{border-color:#fec5dd;background:#ad2f65e6;font-size:12px;box-shadow:0 0 20px #e33883a3}.scene-toplabel{z-index:5;font-size:10px;letter-spacing:2px;color:#ffe0ed;top:14px;left:16px;text-shadow:0 2px 4px #000b}.scene-toplabel span{display:inline-block;color:#a9c7c7;letter-spacing:1.1px;margin-left:7px}.on-air-led{color:#fb508c;animation:pulse-led 1.2s infinite}@keyframes pulse-led{50%{opacity:.4}}.stage-button{position:absolute;top:11px;right:13px;z-index:7;color:#fbe7ef;background:#251626dd;border:1px solid #b45587;border-radius:5px;padding:8px 12px;font-size:10px;letter-spacing:1px;font-weight:900}.stage-button:hover{background:#76284f}.camera-instruction{position:absolute;top:51px;right:13px;z-index:4;font-size:9px;color:#d1b1c5;background:#190f1b9e;padding:6px 9px;letter-spacing:.7px;pointer-events:none}.camera-instruction span{color:#fb5793}.stage-focus{position:absolute;bottom:13px;left:15px;z-index:5;display:flex;align-items:center;gap:10px;background:#130b18d9;border-left:4px solid #ff5c9f;padding:9px 12px;max-width:75%;box-shadow:0 8px 18px #0008}.stage-focus span{color:#d795bb;font-size:9px;letter-spacing:1.2px}.stage-focus b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-focus small{font-size:9px;color:#81ddeb;letter-spacing:1px}.stage-3d .stage-counter{bottom:13px;right:13px;background:#130b18d9;z-index:5}.scene-flash{pointer-events:none;position:absolute;inset:0;z-index:8;opacity:0;background:radial-gradient(circle at center,#fffbffff,#f25f9a88 32%,transparent 70%)}.scene-flash.active{animation:camera-flash .65s ease-out both}@keyframes camera-flash{0%{opacity:.9}18%{opacity:.7}100%{opacity:0}}.stage-announcement{pointer-events:none;position:absolute;top:38%;left:0;right:0;z-index:9;text-align:center;font-weight:1000;font-style:italic;letter-spacing:1px;font-size:clamp(19px,4.4vw,46px);color:#fff;opacity:0;transform:skew(-9deg) translateY(20px) scale(.8);text-shadow:4px 4px 0 #711641,0 0 24px #ff458c}.stage-announcement.active{animation:stage-callout 1.45s both}@keyframes stage-callout{0%{opacity:0;transform:skew(-9deg) translateY(40px) scale(1.4)}13%{opacity:1;transform:skew(-9deg) translateY(0) scale(1)}80%{opacity:1;transform:skew(-9deg) translateY(0) scale(1)}100%{opacity:0;transform:skew(-9deg) translateY(-16px) scale(.95)}}.stage-error{position:absolute;inset:20% 15%;z-index:10;display:grid;place-items:center;text-align:center;color:#fff;background:#382337ed;border:1px solid #d25d8a;padding:20px;border-radius:10px;font-size:15px}
.interaction-v2{align-items:flex-end;justify-content:flex-start;flex-wrap:wrap;gap:18px;padding:14px 0}.control-stack{display:flex;flex-direction:column;gap:7px;min-width:160px}.control-label{color:#ae9caf;font-size:9px;font-weight:900;letter-spacing:1.5px}.control-stack select{min-width:160px;border:1px solid #715271;background:#2c2230;color:#f5deea;border-radius:5px;padding:10px 12px;font-size:12px;font-weight:800}.emotions-stack{flex:1;min-width:230px}.interaction-v2 .emotion-picker{display:flex;gap:6px;flex-wrap:wrap}.interaction-v2 .emotion{padding:10px 12px;font-size:9px}.interaction-v2 .user-tag{margin-left:auto;padding-bottom:10px}.action-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:11px;margin-top:12px}.action-buttons .btn{padding:11px 15px}.interrupt-btn{color:white;background:linear-gradient(95deg,#b52660,#f15c8b);border:1px solid #f36b98}.agree-btn{color:#d1f7f5;background:#183a42;border:1px solid #3c9294}.action-note{color:#8e7c90;font-size:10px}.dialogue-box{min-height:141px}.scene-flash+*{pointer-events:none}
@media(max-width:850px){.stage-3d{height:410px}.stage-focus{max-width:80%}.camera-instruction{display:none}.stage-3d .stage-counter{display:none}}@media(max-width:520px){.stage-3d{height:350px}.scene-toplabel span{display:none}.stage-focus small{display:none}.seat-tag{font-size:8px;max-width:83px;padding:2px 4px}.seat-tag.focused{font-size:10px}.control-stack{min-width:120px}.emotions-stack{min-width:200px}.action-buttons .btn{font-size:10px}.stage-button{padding:6px;font-size:9px}.entry-characters{height:100px}.entry-characters img{height:115px}.entry-characters img:nth-child(2){height:130px}.entry-characters img:nth-child(3){height:106px}}

/* V0.2.1: botón de motor alternativo */
.stage-switch{position:absolute;z-index:7;right:13px;top:47px;background:#271a32e8;color:#f8d8ee;border:1px solid #865273;border-radius:5px;padding:5px 10px;font-weight:800;font-size:9px;letter-spacing:.8px;cursor:pointer}.stage-switch:hover{background:#653456}.camera-instruction{top:77px!important}

/* V0.3 · Escenario clásico, gama azul/granate/oro, textura del tribunal. */
.stage-3d{background:radial-gradient(ellipse at center,#1c2b51 0%,#0b132c 52%,#080a12 92%);border-color:#9d7445}
.stage-vignette{background:radial-gradient(ellipse at 50% 52%,transparent 52%,#02060c8c 100%),linear-gradient(180deg,#080b19aa 0,transparent 17%,transparent 72%,#120816c9 100%)}
.dialogue-box{border-color:#895c4c;background:linear-gradient(105deg,#24131f,#1e1523 65%,#161527)}
.scene-toplabel{color:#ffe3ae;text-shadow:0 2px 6px #001}.scene-toplabel span{color:#eac183}
.seat-tag{background:#281321de;border-color:#d2a564a6;border-left-color:#e9a54e}.seat-tag.focused{background:#8a2341e8;border-color:#ffe5b2}

/* V0.4: cámara exclusivamente dirigida, sin órbita manual accidental. */
.stage-3d,.stage-3d:active{cursor:default;touch-action:auto}
.camera-instruction{color:#ffe8c2;background:#11172ad9;border-left:2px solid #d2a25c}

/* V0.5: propuestas integradas al motor del caso */
.evidence-form{display:grid;gap:8px;margin:10px 0}
.evidence-form input,.evidence-form textarea{width:100%;box-sizing:border-box;background:#17111c;color:#f5e4f4;border:1px solid #805773;border-radius:5px;padding:9px;font:inherit}
.evidence-form .btn{width:100%;font-size:12px}
.proposal-list{display:grid;gap:7px;max-height:240px;overflow:auto}
.proposal-card{background:#221725;border:1px solid #5d345b;border-radius:7px;padding:8px;font-size:12px}
.proposal-card p{margin:5px 0 8px;white-space:pre-wrap}
.proposal-card button{font-size:11px;margin:3px}
/* V0.6 accessibility, six-language UI and compact sidebar navigation */
[hidden]{display:none!important}
.lang-widget{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;color:#f0d6e5;white-space:nowrap}
.lang-widget select{max-width:175px;min-width:100px;background:#221629;border:1px solid #b780a1;border-radius:8px;padding:9px 10px;color:#fbe5ee;font-size:12px;cursor:pointer}
.lang-widget select:focus-visible, .trial-tab:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible{outline:3px solid #f8c45d;outline-offset:2px}
.entry-card{position:relative}.entry-lang{position:relative;justify-content:flex-end;margin-bottom:12px}.room-status{display:flex;align-items:center;gap:12px}.top-lang{min-width:0}
.sidebar{min-width:0}.trial-tabs{position:sticky;top:0;z-index:11;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;background:#19131ede;border:1px solid #6d4a69;padding:5px;border-radius:10px;margin:0 0 13px}
.trial-tab{cursor:pointer;min-height:40px;min-width:0;background:#302338;color:#e4ccdf;font-size:11px;font-weight:800;line-height:1.2;font-family:inherit;border:1px solid transparent;border-radius:7px;padding:7px 3px;overflow-wrap:anywhere}
.trial-tab.active{color:#221020;background:#f0aed2;border-color:#ffd7e8;box-shadow:0 2px 10px #fe54a52d}
.trial-tab:hover:not(.active){background:#513350;border-color:#8e5b82}
.tab-hidden{display:none!important}
.selection-status{font-size:11px;line-height:1.5;padding:10px 11px;margin:10px 0;background:#271a2e;border:1px dashed #9b648c;color:#fae6f4;border-radius:7px;overflow-wrap:anywhere}
.action-buttons{gap:9px}.action-buttons .btn{font-size:11px;min-height:44px;flex:1 1 138px;border-radius:9px;white-space:normal;line-height:1.25}
.action-note{flex-basis:100%;margin-left:2px;font-size:11px}
.write-panel{border:1px solid #6c4b6a;background:#1c1420;border-radius:10px;margin-top:13px;padding:5px;min-height:58px}
.write-panel input{min-width:0;font-size:14px}.write-panel .send-btn{min-height:44px;border-radius:8px;font-size:12px}
.side-section{margin-bottom:12px}.side-section button{cursor:pointer}.emotion{min-height:36px;min-width:44px}
#evidence-form input,#evidence-form textarea{font-size:14px;min-height:40px}
#evidence-form button,#vote-btn,#shoot-btn,#advance-btn,#verdict-btn{min-height:43px;width:100%;font-size:12px;border-radius:8px}
#vote-btn:disabled,#shoot-btn:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}
#entry-instructions{line-height:1.6}
@media(max-width:1120px){.top-lang span{display:none}.top-lang select{min-width:98px;max-width:150px}}
@media(max-width:800px){.sidebar{padding:16px}.trial-tabs{top:0}.topbar{gap:7px}.lang-widget select{min-width:90px;max-width:130px}}
@media(max-width:510px){.top-lang select{font-size:11px;max-width:112px;padding:6px 3px}.brand small{display:none}.room-status #copy-room{max-width:86px;overflow:hidden;text-overflow:ellipsis}.trial-tab{font-size:10px}.court-col{padding:10px}.stage-3d{height:340px}.action-buttons .btn{min-width:110px;flex-basis:46%}.action-note{display:none}.write-icon{display:none}.write-panel input{font-size:13px}.lang-widget select{max-width:150px}}
@media(prefers-reduced-motion:reduce){.trial-tab,.action-buttons .btn{transition:none!important}}

.mini-guide{margin:0 0 10px;background:#241b2d;border:1px solid #704764;border-radius:9px;padding:10px 12px;font-size:11px;color:#eacddd;line-height:1.65}
.mini-guide summary{font-weight:900;cursor:pointer;color:#ffd2e6;padding:2px 0}
.mini-guide ol{padding-left:20px;margin:9px 0 3px}
.mini-guide li{margin:4px 0}.vote-waiting{color:#cabac9;background:#291e2f;border:1px dashed #7e547d;border-radius:8px;padding:14px;font-size:12px;line-height:1.5}

/* V0.7: catalog visual before joining; no assets bundled with the patch. */
.entry-card.picker-mode{width:min(1020px,96vw);max-width:1020px;max-height:94vh;overflow:auto;box-sizing:border-box}
.entry-card.picker-mode .seal,.entry-card.picker-mode h1,.entry-card.picker-mode .entry-characters,.entry-card.picker-mode .join-note{display:none}
.character-picker{display:grid;gap:13px;text-align:left;margin:8px 0}
.character-picker h2{margin:0;font-size:25px;color:#ffe1ef}.character-picker p{margin:0;color:#e9b6d0;font-size:13px}
.picker-toolbar{display:flex;gap:10px}.picker-toolbar input,.picker-toolbar select,.emotion-nav input{background:#231827;color:#ffeaf8;border:1px solid #966987;border-radius:9px;padding:12px 13px;font:inherit;font-size:14px;min-width:0}
.picker-toolbar input{flex:1}.picker-toolbar select{width:125px}
.picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;max-height:min(55vh,570px);overflow:auto;padding:5px;scrollbar-color:#c15b93 #251526}
.picker-card{display:flex;flex-direction:column;align-items:center;gap:4px;background:linear-gradient(145deg,#292036,#171423);border:2px solid #60455f;color:#f6e6f5;border-radius:11px;min-height:178px;padding:6px 5px;cursor:pointer;transition:background .15s,border-color .15s;text-align:center}
.picker-card:hover{border-color:#f3add5;background:#422740}.picker-card.selected{border-color:#ffcc72;background:#542943;box-shadow:0 0 0 2px #fcad4e33}
.picker-card img{width:100%;height:122px;object-fit:contain;object-position:center bottom;pointer-events:none}.picker-card strong{font-size:11px;line-height:1.2;min-height:26px;display:grid;place-items:center}.picker-card small{color:#ac8da7;font-size:10px}
.picker-footer{display:flex;gap:12px;justify-content:space-between;align-items:center;color:#c3a5ba;font-size:12px}
#picker-join{background:linear-gradient(90deg,#d52b70,#f45fa8);color:white;font-weight:800;border:1px solid #ffb2da;border-radius:9px;padding:15px 22px;cursor:pointer}
#picker-join:disabled{opacity:.45;cursor:not-allowed}
.emotion-nav{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}.emotion-nav input{font-size:11px;min-height:32px;padding:6px 10px;flex:1 1 90px;width:135px}
.emotion-paging{display:flex;gap:6px;align-items:center;font-size:11px;color:#f3d4e3}.emotion-paging button{border-radius:7px;background:#422643;color:#fff0fa;border:1px solid #936287;min-width:32px;min-height:32px;cursor:pointer}.emotion-paging button:disabled{opacity:.35;cursor:default}
.emotion-picker .emotion{max-width:168px;display:flex;gap:5px;align-items:center;min-height:51px;font-size:10px}.emotion-picker .emotion img{width:31px;height:36px;object-fit:contain;object-position:center bottom}
.emotion-picker .emotion span{max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:560px){.picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.picker-card{min-height:145px}.picker-card img{height:94px}.picker-card strong{font-size:10px}.picker-toolbar{flex-wrap:wrap}.picker-toolbar select{width:100%}.picker-footer{flex-direction:column;align-items:stretch}#picker-join{width:100%}}


/* V0.7.1: galería de sprites dentro del escenario, en vez de 12 imágenes debajo. */
.pose-trigger-stack{flex:0 1 195px;min-width:150px;max-width:230px}
.pose-open{width:100%;display:flex;align-items:center;gap:9px;min-height:53px;padding:5px 10px;border-radius:10px;border:1px solid #9e6483;background:linear-gradient(130deg,#372336,#201727);color:#ffecf5;text-align:left;box-shadow:inset 0 0 0 1px #ffffff08}
.pose-open:hover,.pose-open:focus-visible{border-color:#ffd29d;background:#50304a}
.pose-open img{height:42px;width:38px;object-fit:contain;object-position:center bottom;flex-shrink:0}
.pose-open-label{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}
.pose-open-label strong{font-size:12px;font-weight:900;white-space:nowrap}
.pose-open-label small{color:#eeb7d3;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pose-chevron{font-size:19px;color:#ffd3a8}
.pose-modal{position:absolute;inset:9px;z-index:32;display:flex;flex-direction:column;gap:10px;background:linear-gradient(145deg,#181320fa,#2d1b31f7);border:1px solid #d9a16b;border-radius:12px;padding:15px 18px 16px;box-shadow:0 12px 35px #08050bdc,0 0 0 1px #fdeac222;overflow:hidden;min-height:0;isolation:isolate}
.pose-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-shrink:0}
.pose-modal-header small{display:block;font-size:10px;color:#ddb5d0;letter-spacing:.07em}
.pose-modal-header h3{margin:3px 0 2px;font-size:clamp(14px,1.6vw,20px);line-height:1.2;color:#ffe0f1}
.pose-current-character{font-size:11px;color:#ffc78d;font-weight:800}
.pose-close{border-radius:9px;border:1px solid #a9798f;background:#52344d;color:white;min-width:38px;min-height:38px;flex-shrink:0;font-size:18px;font-weight:900}
.pose-close:hover{background:#863e65}
.pose-modal-toolbar{display:flex;align-items:center;gap:10px;flex-shrink:0}
.pose-modal-toolbar input{background:#211929;border:1px solid #9b6286;border-radius:8px;min-width:0;min-height:36px;padding:7px 12px;flex:1;color:#fff;font:inherit;font-size:13px}
.pose-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;min-height:0;overflow-y:auto;align-content:start;padding:3px 4px 6px;scrollbar-color:#ab6b91 #211629}
.pose-grid .emotion{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;max-width:none;width:100%;height:128px;min-width:0;padding:5px 4px;box-sizing:border-box;background:#342436;border:1px solid #79516d;color:#ffedf5;border-radius:10px;transition:background .14s,border-color .14s}
.pose-grid .emotion:hover{background:#5a314d;border-color:#fdb9d5}
.pose-grid .emotion.active{background:#733b56;border-color:#ffd187;box-shadow:inset 0 0 0 1px #ffd187}
.pose-grid .emotion img{width:100%;height:94px;object-fit:contain;object-position:center bottom;pointer-events:none}
.pose-grid .emotion span{display:block;max-width:100%;font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){.pose-modal{inset:5px;padding:10px;gap:7px}.pose-grid{grid-template-columns:repeat(auto-fill,minmax(75px,1fr));gap:5px}.pose-grid .emotion{height:101px}.pose-grid .emotion img{height:71px}.pose-modal-toolbar{gap:5px}.pose-modal-toolbar input{font-size:11px}.pose-trigger-stack{max-width:190px}}
@media(max-width:430px){.pose-modal-header small{display:none}.pose-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pose-modal{padding:8px}.pose-grid .emotion{height:87px}.pose-grid .emotion img{height:60px}.pose-open{min-height:46px}}


/* ==========================================================
   V0.7.2 - TRIBUNAL FULLSCREEN / HUD flotante
   Conservar la galeria de entrada. Solo cambia #app.
   ========================================================== */
html,body{width:100%;height:100%;overflow:hidden}
#app.app-shell{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;margin:0;overflow:hidden;isolation:isolate;--hud-side:386px}
#app .topbar{position:absolute;top:0;left:0;right:0;height:62px;z-index:50;padding:0 18px;gap:12px;background:linear-gradient(90deg,#0f0c17eb,#171123bf);border-bottom:1px solid #e8b88255;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#app .brand small{font-size:9px}
#app .top-center{gap:8px;font-size:10px}
#app .room-status{gap:9px}
.panels-toggle{display:flex;align-items:center;gap:7px;white-space:nowrap;min-height:36px;padding:8px 10px;background:#3c2446cc;color:#ffe7f4;border:1px solid #ba82a4;border-radius:9px;font-weight:850;font-size:11px;letter-spacing:.2px}
.panels-toggle:hover{background:#6a3258}
#app .main-grid{position:absolute;inset:0;display:block;min-height:0;overflow:hidden}
#app .court-col{display:contents}
#app .court-scene.stage-3d{position:absolute;inset:0;width:100%;height:100%;max-height:none;min-height:0;border:0;border-radius:0;cursor:default;touch-action:auto;z-index:0}
#app #court-canvas{width:100%;height:100%}
#app .court-scene .stage-vignette{pointer-events:none}
#app .scene-toplabel{top:74px;left:50%;right:auto;transform:translateX(-50%);white-space:nowrap;max-width:40vw;overflow:hidden;text-overflow:ellipsis;padding:7px 13px;background:#16102090;border:1px solid #a97c9440;border-radius:99px;letter-spacing:1px;z-index:5}
#app .court-banner{position:absolute;top:74px;left:16px;z-index:16;width:min(360px,calc(100% - var(--hud-side) - 18px));height:auto;min-height:65px;margin:0;padding:10px 14px;border:1px solid #bb8e8073;border-radius:12px;background:#1c1323ae;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#app .court-banner h2{font-size:clamp(15px,1.3vw,22px);margin:2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#app .interaction-strip{position:absolute;top:148px;left:16px;z-index:17;width:min(385px,calc(100% - var(--hud-side) - 18px));display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 10px;margin:0;background:#1b1324a8;border:1px solid #a97a9a65;border-radius:12px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#app .interaction-strip .control-stack{min-width:90px;flex:1 1 130px}
#app .interaction-strip .pose-trigger-stack{flex:1 1 150px;min-width:120px;max-width:none}
#app .interaction-strip .user-tag{display:none}
#app #character-select{max-width:100%;width:100%;min-width:0}
#app .stage-button{left:16px;right:auto;top:247px;padding:8px 10px;background:#1e1428b8;border-color:#b483a7;border-radius:8px;backdrop-filter:blur(8px)}
#app .stage-switch{left:169px;right:auto;top:247px;padding:8px 10px;background:#1e1428b8;border-color:#856788;border-radius:8px;backdrop-filter:blur(8px)}
#app .stage-focus{left:16px;bottom:262px;z-index:8;max-width:calc(100vw - var(--hud-side) - 20px);border-radius:6px;background:#170f23b5;backdrop-filter:blur(8px)}
#app .stage-counter{display:none}
#app .camera-instruction{display:none!important}
#app .sidebar{position:absolute;z-index:30;top:76px;right:16px;bottom:16px;width:350px;max-width:calc(100vw - 32px);max-height:none;min-height:0;display:flex;flex-direction:column;gap:10px;margin:0;padding:12px;overflow-y:auto;overflow-x:hidden;border:1px solid #d5a2bd6e;border-radius:16px;background:rgba(19,13,29,.62);box-shadow:0 12px 36px #0008;backdrop-filter:blur(17px) saturate(110%);-webkit-backdrop-filter:blur(17px) saturate(110%);scrollbar-color:#a96d8f #211b2d80;transition:transform .2s ease,opacity .2s ease}
#app .sidebar .mini-guide,#app .sidebar .trial-tabs,#app .sidebar .side-section,#app .sidebar .vote-waiting{background:rgba(37,24,49,.37);border-radius:10px;border:1px solid #a7779b42;padding:10px}
#app .sidebar .trial-tabs{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:5px;gap:5px;background:rgba(26,17,39,.88);backdrop-filter:blur(8px)}
#app .sidebar .truth,#app .sidebar .statement,#app .sidebar .person,#app .sidebar .log-item,#app .sidebar .proposal-card{background:rgba(45,30,53,.58);border-color:#98718d66}
#app .sidebar .selection-status{background:#23182cb5}
#app .sidebar .aside-heading{margin:2px 0}
#app .sidebar .side-hint{opacity:.93}
#app .sidebar .sidebar-footer{font-size:10px;opacity:.7}
#app .dialogue-box{position:absolute;z-index:18;bottom:132px;left:16px;right:var(--hud-side);width:auto;min-height:0;max-height:124px;overflow:hidden;margin:0;padding:11px 16px;border:1px solid #c475a088;border-radius:13px;background:linear-gradient(115deg,#25132bdc,#130f24d0);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);box-shadow:0 10px 30px #0009}
#app .dialogue-upper{flex-direction:row;align-items:center}
#app .dialogue-name{font-size:clamp(13px,1.5vw,18px)}
#app .dialogue-text{margin:7px 0 3px;min-height:0;max-height:59px;overflow-y:auto;line-height:1.35;font-size:clamp(13px,1.5vw,18px)}
#app .dialogue-bottom{font-size:10px}
#app .dialogue-box .dialogue-stripe{border-radius:11px 0 0 11px}
#app .action-buttons{position:absolute;z-index:19;bottom:78px;left:16px;right:var(--hud-side);width:auto;margin:0;padding:0;min-height:44px;display:flex;flex-wrap:nowrap;gap:7px;align-items:stretch;background:transparent}
#app .action-buttons .btn{flex:1 1 0;min-width:0;min-height:43px;padding:6px 5px;font-size:clamp(10px,.9vw,13px);border-radius:10px;background-color:#29182cbf;backdrop-filter:blur(8px)}
#app .action-buttons .action-note{display:none}
#app .write-panel{position:absolute;z-index:19;bottom:12px;left:16px;right:var(--hud-side);height:57px;min-height:0;margin:0;padding:6px 7px 6px 12px;gap:10px;background:rgba(20,12,29,.84);border:1px solid #bf89a5a0;border-radius:12px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 9px 25px #0007}
#app .write-panel input{background:transparent;border:0;box-shadow:none;min-width:0;flex:1}
#app .write-panel .send-btn{height:43px;min-height:43px;padding:7px 14px}
#app.panels-closed{--hud-side:16px}
#app.panels-closed .sidebar{transform:translateX(calc(100% + 40px));opacity:0;pointer-events:none;visibility:hidden}
#app.panels-closed .court-banner,#app.panels-closed .interaction-strip{width:min(370px,calc(100vw - 32px))}
#app.panels-closed .stage-focus{max-width:calc(100vw - 32px)}
/* El selector de poses es un overlay real sobre toda la web, por encima del HUD. */
#app > .pose-modal{position:absolute;inset:clamp(70px,9vh,110px) clamp(16px,13vw,220px) clamp(28px,7vh,88px);z-index:90;min-height:0;max-height:none;background:linear-gradient(145deg,#161020f7,#301a36f5);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 0 0 200vmax #08030c8f,0 28px 70px #000b}
#app > .pose-modal .pose-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
@media(max-width:1200px){
 #app{--hud-side:342px}
 #app .sidebar{width:310px}
 #app .room-status #copy-room{max-width:120px;overflow:hidden;text-overflow:ellipsis}
 #app .top-center{display:none}
}
@media(max-width:900px){
 #app{--hud-side:12px}
 #app .topbar{height:59px;padding:0 10px}
 #app .brand strong{font-size:13px}
 #app .room-status{gap:6px}
 #app .room-status #copy-room{display:none}
 #app .sidebar{top:69px;right:10px;bottom:255px;width:min(340px,calc(100vw - 20px));max-width:none}
 #app .court-banner{top:68px;left:10px;width:min(350px,calc(100vw - 20px));min-height:52px;padding:7px 10px}
 #app .interaction-strip{top:128px;left:10px;width:min(345px,calc(100vw - 20px));padding:7px}
 #app .stage-button{left:10px;top:232px}
 #app .stage-switch{left:156px;top:232px}
 #app .scene-toplabel{top:70px;right:12px;left:auto;transform:none;max-width:190px;font-size:9px}
 #app .stage-focus{bottom:265px;left:10px;max-width:calc(100vw - 20px)}
 #app .dialogue-box{left:10px;right:10px;bottom:135px;height:auto;max-height:124px;padding:9px 12px}
 #app .action-buttons{left:10px;right:10px;bottom:78px}
 #app .write-panel{left:10px;right:10px;bottom:10px}
 #app.panels-closed .sidebar{visibility:hidden}
 #app > .pose-modal{inset:70px 14px 20px}
}
@media(max-width:560px){
 #app .topbar{gap:5px;height:55px;padding:0 8px}
 #app .brand-icon{font-size:22px}
 #app .brand strong{font-size:11px;letter-spacing:.6px}
 #app .brand small{display:none}
 #app .room-status{gap:5px}
 #app .room-status .top-lang select{max-width:92px;min-width:68px}
 #app .room-status .online{display:none}
 #app .room-status > span[data-i18n="room"]{display:none}
 #app .panels-toggle{padding:7px 9px;min-height:34px;font-size:18px}
 #app .panels-toggle span{display:none}
 #app .court-banner{top:61px;left:8px;width:min(228px,calc(100vw - 88px));min-height:48px;padding:6px 10px}
 #app .court-banner h2{font-size:14px}
 #app .court-banner .chapter-stamp{display:none}
 #app .interaction-strip{top:115px;left:8px;width:min(250px,calc(100vw - 16px));padding:6px;gap:5px}
 #app .interaction-strip .control-stack{flex:1 1 95px}
 #app .interaction-strip .pose-trigger-stack{flex:1 1 120px;min-width:102px}
 #app .interaction-strip .control-label{font-size:9px}
 #app .interaction-strip .pose-open{min-height:41px;padding:3px 5px;gap:5px}
 #app .interaction-strip .pose-open img{width:27px;height:33px}
 #app .interaction-strip .pose-open-label strong{font-size:10px}
 #app .scene-toplabel{top:66px;right:6px;padding:5px;font-size:8px;max-width:130px}
 #app .scene-toplabel #renderer-mode{display:none}
 #app .stage-button{top:205px;left:8px;padding:6px 8px;font-size:8px}
 #app .stage-switch{top:205px;left:125px;padding:6px 7px;font-size:8px}
 #app .stage-focus{bottom:253px;left:8px;padding:6px 8px;font-size:10px}
 #app .sidebar{top:63px;right:8px;bottom:252px;width:calc(100vw - 16px);padding:9px;max-height:none}
 #app .dialogue-box{left:8px;right:8px;bottom:134px;max-height:114px;padding:9px}
 #app .dialogue-upper{gap:5px}
 #app .dialogue-name{font-size:12px}
 #app .dialogue-text{max-height:52px;font-size:13px;line-height:1.3}
 #app .dialogue-bottom{display:none}
 #app .action-buttons{left:8px;right:8px;bottom:76px;gap:4px}
 #app .action-buttons .btn{min-height:44px;padding:4px 2px;font-size:9px;letter-spacing:-.25px}
 #app .write-panel{left:8px;right:8px;bottom:8px;height:59px;gap:4px}
 #app .write-panel .write-icon{display:none}
 #app .write-panel .counter{font-size:9px}
 #app .write-panel .send-btn{padding:5px 9px;font-size:10px}
 #app > .pose-modal{inset:61px 7px 8px;padding:9px}
}
@media(prefers-reduced-motion:reduce){#app .sidebar{transition:none}}


/* ==== V0.7.3 MINIMAL COURT OVERRIDE ==== */
#app.app-shell{--hud-side:292px}
#app .topbar{height:54px;padding:0 12px;background:linear-gradient(180deg,rgba(9,8,14,.78),rgba(9,8,14,.44));border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#app .brand strong{font-size:15px;letter-spacing:1.6px}
#app .brand small{display:none}
#app .top-center{display:none}
#app .room-status{gap:8px;font-size:0}
#app .room-status > span[data-i18n="room"],#app #copy-room,#app .panels-toggle{display:none}
#app .room-status .online{font-size:11px;color:#98ecb0;background:rgba(0,0,0,.18);border:1px solid rgba(152,236,176,.18);padding:7px 10px;border-radius:999px}
#app .top-lang{gap:6px;font-size:10px;color:rgba(255,255,255,.68)}
#app .top-lang select{background:rgba(8,8,12,.26);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 12px;color:#fff;backdrop-filter:blur(10px)}
#app .court-banner{display:none}
#app .court-col{position:relative}
#app .court-scene{position:absolute;inset:0;height:100dvh;border:0;border-radius:0;background:#09080d}
#app .stage-vignette{background:radial-gradient(circle at center,transparent 46%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.52) 100%)}
#app .scene-toplabel,#app .camera-instruction,#app .stage-counter{display:none}
#app .stage-focus{position:absolute;left:16px;top:70px;z-index:18;display:flex;gap:8px;align-items:center;padding:7px 11px;border-radius:999px;background:rgba(10,10,14,.24);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:10px;color:rgba(255,255,255,.78)}
#app .stage-focus span{color:rgba(255,255,255,.46)}
#app #speaking-name{font-size:11px;color:#fff}
#app .interaction-strip{position:absolute;z-index:22;top:68px;left:16px;display:flex;align-items:center;justify-content:flex-start;gap:8px;width:auto;padding:0;margin:0;background:transparent;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
#app .interaction-strip .control-stack:first-child{display:none}
#app .interaction-strip .control-label{display:none}
#app .interaction-strip .pose-trigger-stack{flex:0 0 auto;min-width:190px;max-width:240px}
#app .interaction-strip .pose-open{background:rgba(10,10,14,.26);border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
#app .interaction-strip .pose-open:hover,#app .interaction-strip .pose-open:focus-visible{background:rgba(18,18,25,.42);border-color:rgba(255,255,255,.22)}
#app .interaction-strip .pose-open-label strong{font-size:11px;font-weight:800;color:#fff}
#app .interaction-strip .pose-open-label small{font-size:10px;color:rgba(255,255,255,.62)}
#app .interaction-strip .pose-chevron{opacity:.5}
#app .interaction-strip .user-tag{display:flex;padding:0 11px;height:46px;border-radius:14px;background:rgba(10,10,14,.22);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
#app .interaction-strip .user-tag i{display:none}
#app .sidebar{top:70px;right:16px;bottom:150px;width:272px;padding:10px 10px 12px;background:rgba(10,10,14,.14);border:1px solid rgba(255,255,255,.08);box-shadow:none;backdrop-filter:blur(14px) saturate(102%);-webkit-backdrop-filter:blur(14px) saturate(102%)}
#app .sidebar .mini-guide,#app .sidebar .aside-heading,#app .sidebar .sidebar-footer{display:none}
#app .sidebar .trial-tabs{position:sticky;top:0;grid-template-columns:repeat(4,minmax(0,1fr));padding:4px;gap:4px;background:rgba(10,10,14,.22);border:1px solid rgba(255,255,255,.06);border-radius:14px;backdrop-filter:blur(10px)}
#app .sidebar .trial-tab{background:transparent;border:0;border-radius:10px;color:rgba(255,255,255,.56);font-size:10px;padding:10px 6px;letter-spacing:.04em}
#app .sidebar .trial-tab.active{background:rgba(255,255,255,.10);color:#fff}
#app .sidebar .side-section,#app .sidebar .vote-waiting{padding:10px 0 0;background:transparent;border:0;border-radius:0}
#app .sidebar .side-title{margin:0 0 8px;padding:0 2px;color:rgba(255,255,255,.86)}
#app .sidebar .side-title i,#app .sidebar .side-title b{color:rgba(255,255,255,.40)}
#app .sidebar .side-hint{display:none}
#app .sidebar .truth-list,#app .sidebar .statement-list,#app .sidebar .roster,#app .sidebar .vote-list,#app .sidebar .history-list,#app .sidebar .proposal-list{display:flex;flex-direction:column;gap:8px}
#app .sidebar .truth,#app .sidebar .statement,#app .sidebar .person,#app .sidebar .log-item,#app .sidebar .proposal-card,#app .sidebar .vote-card{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:14px;box-shadow:none!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
#app .sidebar .truth.active,#app .sidebar .statement.active,#app .sidebar .person.active{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.16)!important}
#app .dialogue-box{left:16px;right:calc(var(--hud-side) + 18px);bottom:84px;max-height:118px;padding:14px 18px;background:rgba(8,8,12,.24);border:1px solid rgba(255,255,255,.09);border-radius:18px;box-shadow:none;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
#app .dialogue-box .dialogue-stripe{display:none}
#app .dialogue-name{font-size:14px;letter-spacing:.04em}
#app .dialogue-text{margin:10px 0 6px;font-size:clamp(15px,1.3vw,20px);line-height:1.35}
#app .msg-meta,#app .dialogue-bottom{color:rgba(255,255,255,.5)}
#app .action-buttons{left:16px;right:calc(var(--hud-side) + 18px);bottom:16px;gap:8px}
#app .action-buttons .btn{background:rgba(8,8,12,.24)!important;border:1px solid rgba(255,255,255,.10)!important;color:#fff;box-shadow:none!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:14px}
#app .action-buttons .btn:hover,#app .action-buttons .btn:focus-visible{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.18)!important}
#app .write-panel{left:16px;right:calc(var(--hud-side) + 18px);bottom:58px;height:0;min-height:56px;padding:6px 8px 6px 10px;background:rgba(8,8,12,.22);border:1px solid rgba(255,255,255,.09);border-radius:16px;box-shadow:none;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#app .write-panel .write-icon,#app .write-panel .counter{opacity:.55}
#app .write-panel input{color:#fff}
#app .write-panel .send-btn{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);border-radius:12px}
#app .write-panel .send-btn:hover,#app .write-panel .send-btn:focus-visible{background:rgba(255,255,255,.16)}
#app > .pose-modal{background:rgba(10,10,14,.32);border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 200vmax rgba(0,0,0,.45);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
#app > .pose-modal .pose-grid .emotion{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10)}
#app > .pose-modal .pose-grid .emotion.active{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.20)}
#app > .pose-modal .pose-modal-toolbar input,#app > .pose-modal .emotion-paging button,#app > .pose-modal .pose-close{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10)}
@media(max-width:1024px){#app.app-shell{--hud-side:0px}#app .sidebar{right:10px;left:10px;top:auto;bottom:142px;width:auto;max-width:none;padding:8px;max-height:38vh}#app .dialogue-box{left:10px;right:10px;bottom:84px}#app .write-panel{left:10px;right:10px;bottom:58px}#app .action-buttons{left:10px;right:10px;bottom:14px}#app .interaction-strip{left:10px;top:62px}#app .stage-focus{left:10px;top:116px}.panels-closed #trial-sidebar{display:none}}
@media(max-width:680px){#app .topbar{height:48px;padding:0 8px}#app .brand strong{font-size:13px}#app .top-lang span{display:none}#app .top-lang select{padding:7px 9px;max-width:122px}#app .interaction-strip{top:54px;left:8px;gap:6px}#app .interaction-strip .pose-trigger-stack{min-width:156px;max-width:180px}#app .interaction-strip .user-tag{max-width:90px;padding:0 8px;font-size:10px}#app .stage-focus{top:106px;left:8px;font-size:9px;padding:6px 9px}#app .sidebar{bottom:154px;max-height:34vh}#app .dialogue-box{left:8px;right:8px;bottom:86px;max-height:104px;padding:10px 12px}#app .dialogue-name{font-size:12px}#app .dialogue-text{font-size:13px}#app .write-panel{left:8px;right:8px;bottom:58px;min-height:52px;padding:4px 6px 4px 10px}#app .action-buttons{left:8px;right:8px;bottom:10px;gap:5px}#app .action-buttons .btn{font-size:9px;padding:4px 3px;min-height:42px}}

/* ===============================================================
   V0.7.4 · SHINRI-INSPIRED MINIMAL HUD
   Tribunal full viewport; tools are on-demand, never a dashboard.
   This section overrides previous fullscreen rules without changing
   the entry/character-selection screen or any game/network handlers.
   =============================================================== */
#app.app-shell {
  --hud-side: 0px;
  --glass: rgba(7,9,16,.19);
  --glass-edge: rgba(255,255,255,.13);
  --hud-ink: rgba(255,255,255,.87);
  position:fixed;inset:0;width:100%;height:100dvh;max-width:none;
  overflow:hidden;background:#080b16;font-family:Inter,"Segoe UI",Arial,sans-serif;
}
#app .main-grid {position:absolute;inset:0;display:block;overflow:hidden;}
#app .court-col {display:contents;}
#app .court-scene.stage-3d {position:absolute;inset:0;width:100%;height:100%;z-index:0;border:0;border-radius:0;}
#app #court-canvas {width:100%;height:100%;}
#app .court-scene .stage-vignette{pointer-events:none;opacity:.62;}
#app .topbar {
  position:absolute;top:0;left:0;right:0;z-index:65;height:52px;
  padding:0 16px;display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(180deg,rgba(7,9,15,.55),rgba(7,9,15,0));
  border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;
}
#app .brand{gap:7px;opacity:.87}
#app .brand-icon{font-size:19px;letter-spacing:-3px;}
#app .brand strong{font-size:12px;font-weight:800;letter-spacing:1.1px;}
#app .brand small,#app .top-center,#app #copy-room,#app .room-status > span[data-i18n="room"],#app .room-status #toggle-panels{display:none!important}
#app .room-status{gap:8px;letter-spacing:0;font-size:11px;margin-left:auto}
#app .room-status .online{color:#b5ecca;background:rgba(7,10,15,.20);border-radius:999px;padding:6px 8px;font-size:10px;letter-spacing:0;white-space:nowrap}
#app .top-lang{display:flex;align-items:center;gap:5px;color:rgba(255,255,255,.7);letter-spacing:0;font-size:10px}
#app .top-lang select{background:rgba(7,9,16,.24);color:var(--hud-ink);border:1px solid var(--glass-edge);border-radius:9px;min-width:90px;max-width:125px;padding:6px 7px;font-size:11px;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
#app .top-lang select option{background:#161521;color:white}
#app .hud-settings{position:relative;z-index:70;flex-shrink:0}
#app .hud-settings summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:31px;height:31px;font-size:17px;color:#f3f2f7;background:rgba(8,10,17,.22);border-radius:10px;border:1px solid rgba(255,255,255,.1)}
#app .hud-settings summary::-webkit-details-marker{display:none}
#app .hud-settings-menu{position:absolute;right:0;top:40px;width:193px;display:grid;gap:6px;padding:8px;border-radius:12px;background:rgba(12,13,21,.78);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 10px 24px #0005}
#app .hud-settings-menu button{position:static;display:block;min-height:32px;width:100%;padding:7px 9px;border:1px solid rgba(255,255,255,.10);border-radius:8px;background:rgba(255,255,255,.06);color:#f1edf3;font-size:10px;font-weight:650;text-align:left;box-shadow:none}
#app .hud-settings-menu button:hover{background:rgba(255,255,255,.14)}
#app .court-banner{position:absolute;z-index:12;left:16px;top:59px;width:auto;max-width:310px;min-height:0;height:auto;margin:0;padding:6px 11px;background:rgba(8,10,17,.20);border:1px solid rgba(255,255,255,.10);border-radius:10px;box-shadow:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
#app .court-banner small{font-size:9px;font-weight:650;letter-spacing:.8px;color:#d5cfda}
#app .court-banner h2{font-size:12px;font-weight:700;line-height:1.3;margin:2px 0 0;letter-spacing:0;color:#fff;max-width:255px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#app .court-banner .chapter-stamp{display:none}
#app .scene-toplabel,#app .camera-instruction,#app .stage-counter{display:none!important}
#app .stage-focus{position:absolute;top:113px;bottom:auto;left:16px;z-index:13;display:flex;align-items:center;gap:7px;width:max-content;max-width:330px;padding:6px 10px;border-radius:9px;background:rgba(8,10,17,.15);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.62);font-size:10px;letter-spacing:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
#app .stage-focus span{opacity:.55}
#app .stage-focus b{color:rgba(255,255,255,.92);font-size:10px}
#app .stage-focus small{display:none}
/* Left rail: four small, translucent controls instead of a permanent sidebar. */
#app .hud-rail{position:absolute;z-index:48;left:14px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:7px;align-items:flex-start}
#app .hud-tool{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:66px;min-height:56px;padding:7px 4px;color:rgba(255,255,255,.79);background:rgba(9,11,17,.20);border:1px solid rgba(255,255,255,.10);border-radius:12px;box-shadow:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .14s,border-color .14s}
#app .hud-tool span:last-child{font-size:9px;font-weight:650;letter-spacing:0;line-height:1.1}
#app .hud-tool-icon{font-size:19px;font-weight:500;line-height:1}
#app .hud-tool:hover,#app .hud-tool:focus-visible,#app .hud-tool.is-active{background:rgba(22,24,33,.45);border-color:rgba(255,255,255,.25);color:#fff}
/* Sprite icon: small thumbnail at upper right, no separate character bar */
#app .interaction-strip{position:absolute;z-index:46;top:64px;right:15px;left:auto;bottom:auto;width:auto;max-width:min(250px,34vw);height:auto;margin:0;padding:0;display:flex;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
#app .interaction-strip .control-label,#app .interaction-strip .control-stack:first-child,#app .interaction-strip .user-tag{display:none!important}
#app .interaction-strip .pose-trigger-stack{flex:0 0 auto;min-width:0;max-width:none;width:auto}
#app .interaction-strip .pose-open{width:auto;max-width:245px;min-width:116px;min-height:46px;padding:4px 9px 4px 5px;background:rgba(9,10,16,.22);border:1px solid rgba(255,255,255,.11);border-radius:11px;box-shadow:none;color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#app .interaction-strip .pose-open img{height:37px;width:34px;object-fit:contain}
#app .interaction-strip .pose-open-label strong{font-size:10px;font-weight:700;color:#f6f2f8}
#app .interaction-strip .pose-open-label small{font-size:9px;color:rgba(255,255,255,.6)}
#app .interaction-strip .pose-chevron{opacity:.65}
#app .interaction-strip .pose-open:hover{background:rgba(24,25,32,.42);border-color:rgba(255,255,255,.25)}
/* Compact court-record popover opens ONLY when the rail is pressed. */
#app .sidebar{position:absolute;z-index:51;top:100px;left:90px;right:auto;bottom:138px;width:min(326px,calc(100vw - 112px));height:auto;max-height:none;display:flex;flex-direction:column;gap:8px;overflow-y:auto;overflow-x:hidden;padding:12px 12px 16px;background:rgba(8,9,16,.34);border:1px solid rgba(255,255,255,.13);border-radius:16px;box-shadow:0 15px 46px #0004;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);scrollbar-color:rgba(255,255,255,.23) transparent;transition:transform .19s ease,opacity .19s ease}
#app.panels-closed .sidebar{transform:translateX(-18px);opacity:0;pointer-events:none;visibility:hidden}
#app .hud-panel-close{position:sticky;top:0;align-self:flex-end;z-index:6;display:grid;place-items:center;flex:0 0 30px;height:30px;width:30px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.07);color:white;border-radius:9px;font-size:13px;margin-bottom:-32px}
#app .hud-panel-close:hover{background:rgba(255,255,255,.17)}
#app .sidebar .mini-guide,#app .sidebar .aside-heading,#app .sidebar .sidebar-footer{display:none}
#app .sidebar .trial-tabs{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0;padding:4px 38px 4px 4px;background:rgba(13,14,22,.24);border:1px solid rgba(255,255,255,.08);border-radius:11px;backdrop-filter:blur(9px)}
#app .sidebar .trial-tab{min-height:35px;margin:0;padding:5px 1px;font-size:9px;color:rgba(255,255,255,.7);background:transparent;border:0;border-radius:7px;box-shadow:none;letter-spacing:0}
#app .sidebar .trial-tab.active{background:rgba(255,255,255,.13);color:#fff}
#app .sidebar .side-section,#app .sidebar .vote-waiting{padding:5px 0 0;margin:0;background:none;border:0;border-radius:0;box-shadow:none}
#app .sidebar .side-title{margin-bottom:7px;font-size:10px;letter-spacing:.03em;color:rgba(255,255,255,.82)}
#app .sidebar .side-title i,#app .sidebar .side-title b{display:none}
#app .sidebar .side-hint{font-size:10px;color:rgba(255,255,255,.57);padding:0 2px}
#app .sidebar .truth,#app .sidebar .statement,#app .sidebar .person,#app .sidebar .log-item,#app .sidebar .proposal-card,#app .sidebar .vote-card,#app .sidebar .selection-status{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:10px;box-shadow:none!important}
#app .sidebar .truth.active,#app .sidebar .statement.active,#app .sidebar .person.active{background:rgba(255,255,255,.13)!important;border-color:rgba(255,255,255,.24)!important}
#app .sidebar button:not(.trial-tab):not(.hud-panel-close){box-shadow:none}
#app .hud-scrim{display:none!important}
/* Conversation: tiny overlay near the bottom, leaving stage unobstructed. */
#app .dialogue-box{position:absolute;z-index:24;left:50%;right:auto;bottom:123px;transform:translateX(-50%);width:min(790px,calc(100vw - 180px));min-height:0;height:auto;max-height:111px;overflow:hidden;margin:0;padding:12px 16px;background:rgba(7,9,16,.22);border:1px solid rgba(255,255,255,.10);border-radius:14px;box-shadow:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#app .dialogue-box .dialogue-stripe{display:none}
#app .dialogue-upper{display:flex;flex-direction:row;align-items:center}
#app .dialogue-name{font-size:13px;font-weight:800;letter-spacing:.04em;color:white}
#app .msg-meta{font-size:10px;color:rgba(255,255,255,.56)}
#app .dialogue-text{margin:7px 0 0;min-height:0;max-height:58px;overflow-y:auto;font-size:clamp(13px,1.3vw,18px);font-weight:550;line-height:1.4;color:white}
#app .dialogue-bottom{display:none}
#app .action-buttons{position:absolute;z-index:26;left:50%;right:auto;bottom:67px;transform:translateX(-50%);width:min(570px,calc(100vw - 145px));min-height:0;margin:0;padding:0;display:flex;flex-wrap:nowrap;gap:6px;justify-content:center;background:none}
#app .action-buttons .btn{min-width:0;min-height:37px;height:37px;flex:1 1 0;padding:4px 7px;border-radius:10px;border:1px solid rgba(255,255,255,.13)!important;background:rgba(7,9,16,.20)!important;color:rgba(255,255,255,.87);box-shadow:none!important;font-size:10px;font-weight:700;letter-spacing:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
#app .action-buttons .btn:hover,#app .action-buttons .btn:focus-visible{background:rgba(20,22,31,.54)!important;border-color:rgba(255,255,255,.29)!important;color:#fff}
#app .action-buttons .btn:disabled{opacity:.35}
#app .action-buttons .action-note{display:none}
#app .write-panel{position:absolute;z-index:26;left:50%;right:auto;bottom:12px;transform:translateX(-50%);width:min(790px,calc(100vw - 180px));height:46px;min-height:46px;display:flex;align-items:center;gap:8px;padding:4px 5px 4px 11px;margin:0;background:rgba(7,9,16,.22);border:1px solid rgba(255,255,255,.11);border-radius:13px;box-shadow:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#app .write-panel .write-icon{display:none}
#app .write-panel input{font-size:13px;flex:1;min-width:0;color:white;background:none;border:0;box-shadow:none;padding:7px 4px}
#app .write-panel .counter{font-size:10px;color:rgba(255,255,255,.46)}
#app .write-panel .send-btn{height:34px;min-height:34px;padding:5px 12px;border-radius:9px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:11px;box-shadow:none}
#app .write-panel .send-btn:hover{background:rgba(255,255,255,.25)}
/* Sprite gallery: translucent, contained to a corner instead of a fullscreen takeover. */
#app > .pose-modal{position:absolute;z-index:95;inset:74px 18px auto auto;width:min(525px,calc(100vw - 112px));height:min(69vh,600px);max-height:none;min-height:0;display:flex;flex-direction:column;padding:14px;gap:10px;background:rgba(9,10,17,.37);border:1px solid rgba(255,255,255,.18);border-radius:16px;box-shadow:0 14px 35px #0005,0 0 0 200vmax rgba(2,2,7,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:hidden}
#app > .pose-modal h3{font-size:13px;color:white;letter-spacing:.03em}
#app > .pose-modal .pose-modal-header small,#app > .pose-modal .pose-current-character{font-size:10px;color:rgba(255,255,255,.63)}
#app > .pose-modal .pose-close,#app > .pose-modal .emotion-paging button{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:8px;color:white}
#app > .pose-modal .pose-modal-toolbar input{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:9px;color:white;font-size:12px}
#app > .pose-modal .pose-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}
#app > .pose-modal .pose-grid .emotion{height:103px;padding:4px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);box-shadow:none;color:white;border-radius:10px}
#app > .pose-modal .pose-grid .emotion.active{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35)}
#app > .pose-modal .pose-grid .emotion img{height:77px}
#app > .pose-modal .pose-grid .emotion span{font-size:9px;color:rgba(255,255,255,.78)}
@media(max-width:900px){
 #app .sidebar{top:112px;left:76px;right:auto;bottom:154px;width:min(318px,calc(100vw - 93px));max-height:none;}
 #app .court-banner{left:10px;top:55px}
 #app .stage-focus{top:109px;left:10px}
 #app .hud-rail{left:8px;top:45%;gap:5px}
 #app .hud-tool{width:54px;min-height:50px;padding:6px 2px}
 #app .hud-tool-icon{font-size:17px}
 #app .hud-tool span:last-child{font-size:8px}
 #app .dialogue-box{width:calc(100vw - 20px);bottom:119px;max-height:112px;}
 #app .action-buttons{width:calc(100vw - 24px);bottom:66px}
 #app .write-panel{width:calc(100vw - 20px);bottom:10px}
 #app .hud-scrim:not([hidden]){display:block!important;position:absolute;inset:0;z-index:37;border:0;background:transparent;padding:0;}
 #app > .pose-modal{inset:70px 12px auto auto;width:min(520px,calc(100vw - 85px));height:min(64vh,570px)}
}
@media(max-width:560px){
 #app .topbar{height:45px;padding:0 8px}
 #app .brand strong{font-size:11px}
 #app .brand-icon{font-size:17px}
 #app .room-status .online{display:none}
 #app .top-lang span{display:none}
 #app .top-lang select{min-width:70px;max-width:96px;font-size:10px;padding:5px}
 #app .hud-settings summary{width:27px;height:28px}
 #app .court-banner{top:49px;left:8px;max-width:185px;padding:5px 8px}
 #app .court-banner h2{font-size:11px;max-width:160px}
 #app .stage-focus{top:95px;left:8px;font-size:9px;max-width:180px}
 #app .interaction-strip{top:48px;right:8px;left:auto;max-width:39vw;}
 #app .interaction-strip .pose-open{min-width:0;min-height:38px;max-width:135px;padding:4px}
 #app .interaction-strip .pose-open img{width:29px;height:31px}
 #app .interaction-strip .pose-open-label strong{font-size:9px}
 #app .interaction-strip .pose-open-label small{display:none}
 #app .hud-rail{left:6px;top:47%;gap:4px}
 #app .hud-tool{width:43px;min-height:43px;padding:5px 2px;border-radius:10px;gap:1px}
 #app .hud-tool-icon{font-size:15px}
 #app .hud-tool span:last-child{font-size:7px}
 #app .sidebar{left:55px;top:107px;bottom:154px;width:calc(100vw - 64px);padding:9px}
 #app .sidebar .trial-tab{font-size:9px}
 #app .dialogue-box{bottom:117px;width:calc(100vw - 12px);max-height:103px;padding:9px 10px;border-radius:10px}
 #app .dialogue-name{font-size:11px}
 #app .dialogue-text{font-size:12px;max-height:55px}
 #app .action-buttons{width:calc(100vw - 12px);bottom:63px;gap:3px}
 #app .action-buttons .btn{min-height:36px;height:36px;font-size:8px;padding:2px 1px;letter-spacing:0}
 #app .write-panel{width:calc(100vw - 12px);bottom:9px;height:44px;min-height:44px;padding:4px 5px}
 #app .write-panel input{font-size:12px}
 #app .write-panel .counter{display:none}
 #app .write-panel .send-btn{height:32px;min-height:32px;font-size:10px;padding:4px 7px}
 #app > .pose-modal{inset:57px 6px 110px 6px;width:auto;height:auto;padding:9px;gap:7px}
 #app > .pose-modal .pose-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){#app .sidebar,#app .hud-tool{transition:none!important}}
/* Hide purely decorative item numbering, keep the underlying IDs and actions intact. */
#app .sidebar .item-index {display:none}

/* V0.7.5: audio ambiental discreto en el HUD minimalista */
#app .music-toggle{display:grid;place-items:center;width:34px;height:34px;padding:0;margin-left:8px;color:rgba(255,255,255,.69);background:rgba(9,10,15,.22);border:1px solid rgba(255,255,255,.13);border-radius:10px;font-size:19px;font-weight:600;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
#app .music-toggle:hover,#app .music-toggle:focus-visible,#app .music-toggle.is-playing{background:rgba(255,255,255,.11);color:#fff;border-color:rgba(255,255,255,.23)}
#app .hud-settings-menu .music-volume-label{display:block;font-size:11px;color:rgba(255,255,255,.73);margin-top:8px}
#app .hud-settings-menu .music-volume{width:100%;accent-color:#bcb7c6;cursor:pointer;margin:6px 0 4px}
@media(max-width:560px){#app .music-toggle{width:28px;height:28px;font-size:16px;margin-left:2px}}

/* V0.7.6: music is set per room by the host. The public HUD stays almost invisible. */
#app .music-settings{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.10)}
#app .music-track-title{font-size:12px;line-height:1.4;color:rgba(255,255,255,.83);overflow-wrap:anywhere;max-width:270px}
#app .music-host-controls{display:flex;flex-direction:column;gap:8px;margin-top:7px}
#app .music-host-controls[hidden]{display:none!important}
#app .music-file-label{font-size:11px;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:9px;cursor:pointer;text-align:center}
#app .music-file-label:hover{background:rgba(255,255,255,.12)}
#app #music-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
#app .music-host-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
#app .music-host-actions button{min-height:32px;min-width:0;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:9px;color:#fff;font-size:15px}
#app .music-host-actions button:hover{background:rgba(255,255,255,.15)}
#app .music-upload-info{display:block;min-height:1.3em;font-size:10px;color:rgba(255,255,255,.66)}

#app .music-legal-note{font-size:9px;line-height:1.35;color:rgba(255,255,255,.45)}
