:root{--thistle:#d1c1ce;--amber:#e2881d;--twilight:#1d1f62;--lavender:#8587b8;--indigo:#3d3e6b;--bg:#faf8fb}*{box-sizing:border-box}body{background:var(--bg);color:var(--twilight);margin:0;font-family:system-ui,sans-serif}.guest{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;width:100%;max-width:480px;min-height:100dvh;margin:0 auto;padding:1.5rem 1.25rem;display:flex}.guest h1{margin:0;font-size:1.75rem}.guest label{width:100%;color:var(--indigo);flex-direction:column;align-items:center;gap:.6rem;font-weight:600;display:flex}.guest input[type=text],.guest select{width:100%;font:inherit;text-align:center;text-align-last:center;border:2px solid var(--amber);color:var(--twilight);background:#fff;border-radius:12px;padding:.9rem;font-size:1.1rem}.guest input[type=text]:focus,.guest select:focus{border-color:var(--lavender);outline:none}.guest input[type=range]{width:100%;height:2rem;accent-color:var(--indigo)}.guest .score{color:var(--twilight);font-size:3.5rem;font-weight:700;line-height:1}.guest button{width:100%;min-height:3.25rem;font:inherit;background:var(--amber);color:#fff;cursor:pointer;border:0;border-radius:12px;font-size:1.1rem;font-weight:700}.guest button:disabled{background:var(--thistle);cursor:default}.guest .muted{color:var(--lavender);margin:0;font-size:.9rem}.guest .link{width:auto;min-height:0;color:var(--lavender);background:0 0;padding:.5rem;font-size:.9rem;font-weight:400;text-decoration:underline}.admin{max-width:720px;margin:0 auto;padding:2rem 1.5rem}.admin section{border:2px solid var(--thistle);background:#fff;border-radius:12px;padding:1rem 1.25rem}.admin header{justify-content:space-between;align-items:center;display:flex}.admin h2{color:var(--indigo);margin:0;font-size:1.1rem}.admin table{border-collapse:collapse;width:100%;margin:1rem 0}.admin th{text-align:left;color:var(--lavender);padding:.25rem .5rem;font-size:.85rem}.admin td{border-top:1px solid var(--thistle);padding:.25rem .5rem}.admin tr.over td{border-top:3px solid var(--amber)}.admin .handle{cursor:grab;width:1.5rem;color:var(--lavender);-webkit-user-select:none;user-select:none;display:inline-block}.admin form{align-items:center;gap:.5rem;display:flex}.admin .num{width:6rem;color:var(--indigo);font-weight:700}.admin input{width:100%;font:inherit;border:2px solid var(--thistle);color:var(--twilight);background:#fff;border-radius:8px;flex:1;padding:.5rem .75rem}.admin input:focus{border-color:var(--lavender);outline:none}.admin button{font:inherit;background:var(--twilight);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:.5rem 1rem;font-weight:700}.admin button:disabled{background:var(--thistle);cursor:default}.admin button.ghost{color:var(--lavender);background:0 0;padding:.5rem}.admin .overlay{background:var(--thistle);color:var(--indigo);border-radius:8px;flex-direction:column;align-items:center;gap:1rem;margin-top:1rem;padding:2rem;display:flex}.admin .error{color:#b00020;margin:.75rem 0 0}.admin .overlay p{margin:0}.admin nav{color:var(--indigo);align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:1.25rem;display:flex;position:relative}.admin .burger{color:var(--indigo);padding:.25rem .5rem;font-size:1.5rem}.admin .menu{z-index:1;border:2px solid var(--thistle);background:#fff;border-radius:8px;min-width:10rem;margin:.25rem 0 0;padding:.25rem;list-style:none;position:absolute;top:100%;left:0}.admin .menu button{text-align:left;width:100%;color:var(--twilight)}.admin .registro{margin-top:1rem}.admin .registro button{white-space:nowrap}.admin .combo{position:relative}.admin .options{z-index:2;border:2px solid var(--lavender);background:#fff;border-radius:8px;max-height:14rem;margin:2px 0 0;padding:.25rem;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.admin .options li{cursor:pointer;border-radius:6px;padding:.4rem .6rem}.admin .options li:hover{background:var(--thistle)}.admin .options small{color:var(--lavender);margin-left:.5rem}.admin .stack{flex-direction:column;align-items:flex-start;gap:1rem;margin-top:1rem;display:flex}.admin .stack p{margin:0}.admin .muted{color:var(--lavender);font-size:.9rem}.admin .tiles{flex-wrap:wrap;gap:.75rem;display:flex}.admin .tile{background:var(--thistle);min-width:5rem;color:var(--indigo);padding:1rem;font-size:1.25rem}.admin .tile.done{color:#fff;background:#2e9d5b}.live{text-align:center;min-height:100dvh;padding:3rem 4rem}.live h1{margin:0 0 3rem;font-size:4rem}.live-empty{color:var(--lavender);font-size:2rem}.live-grid{grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));gap:1.5rem;display:grid}.live-tile{text-align:left;border:3px solid var(--thistle);border-left:12px solid var(--amber);background:#fff;border-radius:14px;flex-direction:column;justify-content:center;gap:.5rem;min-height:8rem;padding:1.5rem 2rem;display:flex}.live-tile strong{color:var(--twilight);font-size:2rem}.live-tile span{color:var(--lavender);font-size:1.4rem}.live-grid.numbers{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.live-tile.num{background:var(--thistle);border-color:var(--lavender);border-left-width:3px;flex-direction:row;justify-content:space-between;align-items:center}.live-tile.num strong{color:var(--indigo);font-size:3.5rem}.live-tile.num.done{background:#d7f0e0;border-color:#2e9d5b}.live-tile.num.done strong{color:#1f6b3e}.live-tile .check{font-size:3rem}.live-list{flex-direction:column;gap:1.25rem;max-width:64rem;margin:0 auto;display:flex}.live-tile.rev{font:inherit;cursor:pointer;flex-direction:row;justify-content:space-between;align-items:center;min-height:7rem}.live-tile.rev .who{text-align:left;flex-direction:column;gap:.25rem;display:flex}.live-tile.rev .who strong{color:var(--indigo);font-size:2.5rem}.live-tile.rev .who span{color:var(--lavender);font-size:1.4rem}.live-tile.rev .who.revealed{animation:.7s cubic-bezier(.2,1.4,.4,1) pop}.live-tile.rev .who.revealed strong{color:var(--twilight);font-size:2.2rem}.score-box{align-items:center;gap:1.25rem;display:flex}.score-box .avg{color:var(--twilight);font-size:3rem;font-weight:700}.score-box .medal{font-size:3rem}.live-tile.rank-2{border-left-color:#aeb3c0}.live-tile.rank-3{border-left-color:#b87333}.live-tile.rank-1{border-color:var(--amber);border-left-color:var(--amber);background:linear-gradient(135deg,#fff6e3,#ffe2ad);min-height:10rem;box-shadow:0 0 2.5rem #e2881d73}.live-tile.rank-1 .who strong{font-size:3.2rem}.live-tile.rank-1 .avg{color:#a85f00;font-size:4rem}@keyframes pop{0%{opacity:0;filter:blur(8px);transform:scale(.6)rotate(-4deg)}to{opacity:1;filter:none;transform:none}}.greeting{align-items:center;gap:3rem;display:flex}.greeting-main{flex:1;min-width:0}.greeting-qr{flex-shrink:0;width:25%}.greeting-qr img{border:3px solid var(--thistle);border-radius:16px;width:100%;height:auto}.greeting-qr p{color:var(--indigo);margin:1rem 0 0;font-size:1.6rem;font-weight:600}.tasting{align-items:flex-start;gap:3rem;display:flex}.tasting-tiles{flex:1;min-width:0}.tasting-tiles .live-grid.numbers{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:1rem}.tasting-tiles .live-tile.num{min-height:6rem;padding:1rem 1.5rem}.tasting-tiles .live-tile.num strong{font-size:2.5rem}.tasting-tiles .live-tile .check{font-size:2rem}.tasting-scores{border:3px solid var(--thistle);text-align:left;background:#fff;border-radius:14px;flex-shrink:0;width:35%;padding:1.5rem 2rem;position:sticky;top:3rem}.tasting-scores h2{color:var(--indigo);margin:0 0 1rem;font-size:3rem}.score-line{border-top:1px solid var(--thistle);justify-content:space-between;align-items:center;padding:.6rem 0;font-size:1.8rem;display:flex}.score-line b{color:var(--amber);font-size:2.2rem}
