@font-face{font-family:Patrick Hand;src:url(/fonts/patrick-hand.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--sheet:#fbf9f2;--rule:#c3e2f1;--margin:#f28ac6;--ink:#2e3d54;--ink-soft:#7b889c;--red:#d8505f;--blue:#1f7ac0;--card:#fffdf6;--card-border:#d9e3ec;--shadow:0 2px 6px #2e3d5424;--line:32px;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;font-family:Patrick Hand,Segoe Print,Comic Sans MS,cursive;font-size:18px;line-height:var(--line);color:var(--ink);background-color:var(--sheet);background-image:var(--grain), repeating-linear-gradient(to bottom, transparent 0 calc(var(--line) - 1px), var(--rule) calc(var(--line) - 1px) var(--line));-webkit-tap-highlight-color:transparent;background-attachment:fixed;margin:0}.app{max-width:480px;min-height:100dvh;margin:0 auto;padding:20px 28px 64px 20px;position:relative}.app:after{content:"";background:var(--margin);opacity:.6;pointer-events:none;width:2px;position:absolute;top:0;bottom:0;right:16px}.app__title{color:var(--red);margin:0 0 4px;font-size:2rem;font-weight:400;line-height:1.2}.app__tagline{color:var(--ink-soft);margin:0}h1,h2,h3{color:var(--red);margin:0 0 8px;font-weight:400;line-height:1.25}h1{font-size:2rem}h2{font-size:1.5rem}h3{color:var(--ink);font-size:1.2rem}p{margin:0 0 12px}.muted{color:var(--ink-soft)}.card{background-color:var(--card);background-image:var(--grain);border:1px solid var(--card-border);box-shadow:var(--shadow);border-radius:6px;margin-bottom:16px;padding:12px 16px}.card--tilt{transform:rotate(-.5deg)}.card--tilt-right{transform:rotate(.4deg)}.btn{min-width:44px;min-height:44px;font:inherit;color:var(--blue);background:var(--card);border:2px solid var(--blue);cursor:pointer;touch-action:manipulation;border-radius:10px;justify-content:center;align-items:center;padding:8px 18px;font-size:1.05rem;transition:transform .12s,background-color .12s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:focus-visible,.input:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{border-width:3px}.btn--quiet{color:var(--blue);background:0 0;border-color:#0000;text-decoration:underline}.btn--quiet:hover{color:var(--ink)}.btn--danger{color:var(--red);border-color:var(--red)}.btn--offer{color:var(--ink);border:2px dashed var(--ink-soft);background:0 0}.btn--offer:hover{color:var(--blue);border-color:var(--blue)}.btn--small{min-height:44px;padding:4px 12px;font-size:.95rem}.input{width:100%;min-height:44px;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--card-border);border-bottom:2px solid var(--rule);border-radius:8px;padding:8px 12px}@keyframes jdd-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.screen{animation:.18s ease-out jdd-fade-in}@media (prefers-reduced-motion:reduce){.screen{animation:none}}.app__header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.app__header .app__title{margin-bottom:0}.btn--link{min-height:32px;color:var(--ink-soft);background:0 0;border:none;padding:2px 4px;text-decoration:underline}.btn--link:hover{color:var(--blue)}.field{margin-bottom:12px;display:block}.field__label{color:var(--ink-soft);line-height:1.4;display:block}.input--code{text-transform:uppercase;letter-spacing:.3em;text-align:center;font-size:1.4rem}.input--number{text-align:center;width:5rem}textarea.input{resize:vertical;line-height:1.4}.counter{margin-top:-6px;font-size:.9rem}.error{color:var(--red)}.ok{color:var(--blue)}.row{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.row--between{justify-content:space-between;align-items:center}.seats{margin:0 0 16px;padding:0;list-style:none}.seats--inline{flex-wrap:wrap;gap:8px;display:flex}.seats__seat{line-height:var(--line)}.seats--inline .seats__seat{background:var(--card);border:1px solid var(--card-border);border-radius:10px;padding:2px 10px}.seats__seat--absent .seats__name{color:var(--ink-soft)}.seats__name{font-weight:400}.badge{color:var(--ink-soft);border:1px solid var(--card-border);vertical-align:middle;border-radius:8px;margin-left:8px;padding:0 8px;font-size:.8rem}.badge--real{color:var(--red);border-color:var(--red)}.options{background:var(--card);border:1px solid var(--card-border);border-radius:6px;margin-bottom:16px;padding:8px 12px}.options__line{line-height:var(--line);align-items:center;gap:10px;display:flex}.options__line input[type=checkbox]{width:22px;height:22px;accent-color:var(--blue)}.offers{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.deck{text-align:center}.deck__word{color:var(--red);margin:0;font-size:1.6rem;line-height:1.3}.deck__category{margin:0 0 8px}.deck__definition{margin:0}.manual{margin-top:12px}.ballot{counter-reset:option;margin:0 0 16px;padding:0;list-style:none}.ballot li{line-height:var(--line)}.ballot--card{background:var(--card);border:1px solid var(--card-border);box-shadow:var(--shadow);border-radius:6px;padding:8px 12px}.ballot__number{min-width:1.6em;color:var(--ink-soft);display:inline-block}.ballot__text{color:var(--ink)}.ballot__option{width:100%;min-height:44px;font:inherit;text-align:left;color:var(--blue);background:var(--card);border:2px solid var(--blue);cursor:pointer;touch-action:manipulation;border-radius:10px;align-items:baseline;gap:8px;margin-bottom:8px;padding:8px 12px;font-size:1.05rem;display:flex}.ballot__option:active{transform:translateY(1px)}.ballot__option--own{color:var(--ink-soft);border-color:var(--card-border);cursor:not-allowed;opacity:.6;background:0 0}.ballot__option--voted{color:var(--ink);border-color:var(--blue);opacity:1;background:#eaf3fa;border-width:3px}.points{margin:0 0 16px;padding:0;list-style:none}.points li{line-height:var(--line)}.ranking{margin:0;padding:0;list-style:none}.ranking li{line-height:var(--line)}.ranking__place{min-width:2em;color:var(--red);display:inline-block}.room{color:var(--ink-soft);margin:0 0 12px}.room__code{letter-spacing:.25em;color:var(--red);font-size:1.4rem}.admin{border-top:1px dashed var(--rule);flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:12px;display:flex}.admin__confirm{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:10px;display:flex}.admin__question{color:var(--ink-soft);flex:100%;font-size:.95rem}.waiting{color:var(--red)}.menu{position:relative}.menu__button{color:var(--ink-soft);background:var(--card);border-color:var(--card-border);padding:2px 12px;font-size:1.35rem;line-height:1}.menu__panel{z-index:20;background:var(--card);background-image:var(--grain);border:1px solid var(--card-border);min-width:210px;box-shadow:var(--shadow);border-radius:10px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.menu__item{width:100%;font:inherit;text-align:left;color:var(--blue);cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:8px;padding:10px 12px;font-size:1rem;display:block}.menu__item:hover{background:var(--sheet)}.menu__question{color:var(--ink-soft);margin:8px 12px 0;font-size:.95rem}.menu__panel .row{margin:6px 6px 2px}.overlay{z-index:30;background:#2e3d5473;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.overlay__panel{background-color:var(--sheet);background-image:var(--grain);border-radius:14px 14px 0 0;width:100%;max-width:480px;max-height:88dvh;padding:20px 24px 28px;animation:.2s ease-out jdd-slide-up;overflow-y:auto;box-shadow:0 -4px 18px #2e3d5438}@keyframes jdd-slide-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.overlay__panel>.row{background-color:var(--sheet);margin-top:8px;padding:12px 0 4px;position:sticky;bottom:0}@media (prefers-reduced-motion:reduce){.overlay__panel{animation:none}}.drafts{margin:0 0 16px;padding:0;list-style:none}.drafts__item{border-bottom:1px dashed var(--rule);padding:8px 0}.drafts__text{margin:0;line-height:1.4}.drafts__title{margin-top:16px}
