:root{font-family:Inter,Segoe UI,SF Pro Display,system-ui,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;line-height:1.45;font-weight:500;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-sky-100: #b6e9ff;--color-sky-200: #8dd8f6;--color-sky-300: #6fc6e7;--color-navy-900: #0e1f2f;--color-navy-700: #1a3248;--color-gold-400: #f6c340;--color-gold-200: #ffe7a5;--color-card: #fefefe;--color-card-alt: #f8fcff;--color-text-primary: #102031;--color-text-muted: #425466;--surface-shadow: 0 14px 32px rgba(16, 32, 49, .17)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top,rgba(255,255,255,.35),transparent 65%),linear-gradient(180deg,var(--color-sky-100) 0%,var(--color-sky-300) 85%);color:var(--color-text-primary)}#root{min-height:100vh;display:flex;justify-content:center;align-items:stretch;padding:0}a{color:inherit}button,input,select,textarea{font:inherit}@keyframes fast-choice-pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.fast-choice__trigger{background:linear-gradient(180deg,#fffffff2,#ffffffd9);border:1px solid rgba(16,32,49,.25);border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:28px;padding:0;box-sizing:border-box;font:inherit;color:var(--color-text-primary);transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}.fast-choice__trigger:disabled{cursor:not-allowed;opacity:.65;box-shadow:none;border-color:#1020311f}.fast-choice__trigger:disabled:hover,.fast-choice__trigger:disabled:active{transform:none;box-shadow:none}.fast-choice__trigger:hover{border-color:var(--color-gold-400);box-shadow:0 6px 12px #10203126}.fast-choice__trigger:active{transform:scale(.97)}.fast-choice__trigger:focus-visible{outline:none;box-shadow:0 0 0 2px #f6c34059}.fast-choice__trigger:focus{outline:none}.fast-choice__overlay{position:fixed;inset:0;background:#0e1f2f8c;display:flex;align-items:center;justify-content:center;z-index:1400;padding:16px;box-sizing:border-box;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fast-choice__dialog{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(16,32,49,.12);border-radius:16px;box-sizing:border-box;max-width:340px;width:100%;padding:20px;display:flex;flex-direction:column;gap:16px;color:var(--color-text-primary);box-shadow:0 24px 48px #0f1f2f40;animation:fast-choice-pop .2s ease}.fast-choice__title{margin:0;font-size:16px;font-weight:600;text-align:center;color:#1a202c}.fast-choice__pager{display:flex;align-items:center;justify-content:center;gap:12px}.fast-choice__pager-button{width:36px;height:32px;border-radius:10px;border:1px solid rgba(16,32,49,.2);background:#fffc;cursor:pointer;font-size:16px;font-weight:600;color:var(--color-text-primary);transition:background .2s ease,transform .15s ease,border-color .2s ease}.fast-choice__pager-button:hover:not(:disabled){background:#f6c34033;border-color:var(--color-gold-400)}.fast-choice__pager-button:disabled{cursor:not-allowed;opacity:.5}.fast-choice__pager-indicator{font-size:14px;font-weight:600;color:var(--color-text-primary)}.fast-choice__options{display:grid;grid-template-columns:repeat(var(--fast-choice-columns, auto-fit),minmax(64px,1fr));gap:10px}.fast-choice__option{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border:1px solid rgba(16,32,49,.15);border-radius:12px;background:#8dd8f640;cursor:pointer;font-size:14px;font-weight:600;box-sizing:border-box;color:var(--color-text-primary);transition:background .2s ease,border-color .2s ease,transform .1s ease,box-shadow .2s ease}.fast-choice__option:hover{background:#f6c34040;border-color:var(--color-gold-400);box-shadow:0 8px 16px #0f1f2f26}.fast-choice__option:active{transform:translateY(1px);background:#f6c34059}.fast-choice__option:focus-visible{outline:none;box-shadow:0 0 0 2px #f6c3404d}.fast-choice__option:focus{outline:none}.fast-choice__actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.fast-choice__clear{min-width:100px;min-height:34px;padding:6px 16px;border-radius:999px;border:1px solid rgba(16,32,49,.2);background:transparent;cursor:pointer;font-size:13px;font-weight:600;color:var(--color-text-primary);transition:border-color .2s ease,transform .15s ease}.fast-choice__clear:hover{border-color:var(--color-gold-400);transform:translateY(-1px)}.fast-choice__clear:active{transform:translateY(1px)}.fast-choice__close{align-self:center;min-width:120px;min-height:34px;padding:6px 16px;border:none;border-radius:999px;background:linear-gradient(135deg,var(--color-navy-900),var(--color-navy-700));cursor:pointer;font-size:13px;font-weight:600;box-sizing:border-box;color:#fff;box-shadow:0 10px 22px #0f1f2f4d;transition:transform .2s ease,box-shadow .2s ease}.fast-choice__close:hover{transform:translateY(-1px);box-shadow:0 14px 28px #0f1f2f59}.fast-choice__close:active{transform:translateY(1px)}.protocol-dialog{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:1400;padding:16px;box-sizing:border-box}.protocol-dialog__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#0d1f2f8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.protocol-dialog__content{position:relative;z-index:1;width:min(520px,100%);padding:24px;border-radius:20px;background:linear-gradient(180deg,#fff,#f3f9ff);border:1px solid rgba(16,32,49,.12);box-shadow:0 24px 48px #10203140;display:flex;flex-direction:column;gap:20px;color:var(--color-text-primary);box-sizing:border-box}.protocol-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.protocol-dialog__title{margin:0;font-size:18px;font-weight:700;color:var(--color-navy-900)}.protocol-dialog__title-nickname{font-size:16px;font-weight:500;color:#0f1f2fb3}.protocol-dialog__close{padding:6px 14px;border:none;border-radius:999px;background:#0f1f2f14;color:var(--color-navy-900);font-size:12px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease}.protocol-dialog__close:hover{background:#0f1f2f26}.protocol-dialog__close:active{transform:translateY(1px)}.protocol-dialog__body{display:flex;flex-direction:column;gap:16px}.protocol-dialog__section{display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:16px;background:#8dd8f626}.protocol-dialog__section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.protocol-dialog__section-title{margin:0;font-size:15px;font-weight:700;color:var(--color-navy-700)}.protocol-dialog__add{padding:6px 12px;border-radius:999px;border:none;background:linear-gradient(135deg,var(--color-gold-400),#f4a51c);color:#0f1e30;font-size:12px;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 8px 16px #f6c34059}.protocol-dialog__add:hover{transform:translateY(-1px)}.protocol-dialog__rows{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto;padding-right:4px}.protocol-dialog__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) 90px;gap:12px;align-items:end}.protocol-dialog__field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--color-text-primary)}.protocol-dialog__label{font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.protocol-dialog__select,.protocol-dialog__fast-choice{width:100%;padding:8px 10px;border:1px solid rgba(16,32,49,.25);border-radius:10px;background:#fff;font-size:14px;color:var(--color-text-primary);box-sizing:border-box}.protocol-dialog__select:focus,.protocol-dialog__fast-choice:focus-visible{outline:2px solid var(--color-gold-400);outline-offset:2px;border-color:var(--color-gold-400)}.protocol-dialog__fast-choice{display:flex;align-items:center;justify-content:flex-start;min-height:36px}.protocol-dialog__fast-choice:empty:after{content:"—";color:#0f1f2f59}.protocol-dialog__remove{align-self:center;justify-self:start;padding:6px 12px;border:1px solid rgba(213,63,140,.8);border-radius:999px;background:transparent;color:#d53f8c;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}.protocol-dialog__remove:hover{background:#d53f8c1a;color:#ad1d64}.protocol-dialog__footer{display:flex;justify-content:flex-end;gap:12px}.protocol-dialog__button{padding:8px 18px;border-radius:999px;border:none;background:#0f1f2f14;color:var(--color-navy-900);font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease}.protocol-dialog__button:hover{background:#0f1f2f26}.protocol-dialog__button--primary{background:linear-gradient(135deg,var(--color-navy-900),var(--color-navy-700));color:#fff;box-shadow:0 12px 20px #0f1f2f4d}.protocol-dialog__button--primary:hover{background:linear-gradient(135deg,var(--color-navy-700),var(--color-navy-900))}@media(max-width:640px){.protocol-dialog__content{padding:16px;width:100%}.protocol-dialog__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.protocol-dialog__remove{justify-self:stretch}.protocol-dialog__rows{max-height:240px}}.nickname-choice__overlay{position:fixed;inset:0;background:#0f1f2f73;display:flex;align-items:center;justify-content:center;z-index:200;padding:24px}.nickname-choice__dialog{width:min(420px,100%);min-height:520px;max-height:90vh;background:#fff;border-radius:24px;box-shadow:0 12px 40px #0f1f2f47;padding:20px;display:flex;flex-direction:column;gap:12px;box-sizing:border-box}.nickname-choice__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.nickname-choice__title{margin:0;font-size:18px;font-weight:700;color:#0f1f2f}.nickname-choice__close{appearance:none;border:none;background:transparent;color:#0f1f2f;font-size:14px;font-weight:600;cursor:pointer}.nickname-choice__search{display:flex;gap:8px}.nickname-choice__search input{flex:1;border-radius:16px;border:1px solid rgba(15,31,47,.2);padding:8px 12px;font-size:14px}.nickname-choice__clear-btn{appearance:none;border:1px solid rgba(15,31,47,.2);border-radius:16px;padding:8px 12px;font-size:13px;background:transparent;cursor:pointer}.nickname-choice__grid{flex:1;min-height:220px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow-y:auto;padding-bottom:4px}.nickname-choice__state{grid-column:1 / -1;text-align:center;font-size:14px;color:#0f1f2fcc;padding:32px 0}.nickname-choice__state--error{color:#c62828}.nickname-choice__item{border:1px solid rgba(15,31,47,.15);border-radius:14px;padding:12px;text-align:left;background:#fff;display:flex;flex-direction:column;gap:4px;cursor:pointer}.nickname-choice__item:hover,.nickname-choice__item:focus-visible{border-color:#0f1f2f66;box-shadow:0 6px 16px #0f1f2f1f}.nickname-choice__item-name{font-size:15px;font-weight:600;color:#0f1f2f}.nickname-choice__item-role{font-size:12px;color:#0f1f2f99}.nickname-choice__footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.nickname-choice__footer button{appearance:none;border:none;background:#0f1f2f14;color:#0f1f2f;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer}.nickname-choice__footer button:disabled{opacity:.5;cursor:not-allowed}.nickname-choice__page-label{font-size:13px;font-weight:600;color:#0f1f2fcc}.nickname-choice__create{display:flex;flex-direction:column;gap:8px}.nickname-choice__create-toggle{appearance:none;border:none;border-radius:14px;padding:6px 12px;font-size:13px;font-weight:600;background:#0f1f2f14;color:#0f1f2f;cursor:pointer;align-self:flex-start}.nickname-choice__create-form{display:flex;gap:8px}.nickname-choice__create-form input{flex:1 1 auto;border-radius:14px;border:1px solid rgba(15,31,47,.2);padding:6px 10px;font-size:13px}.nickname-choice__create-form button{border:none;border-radius:14px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}.nickname-choice__create-form button[type=submit]{background:#0f1f2fe6;color:#fff}.nickname-choice__create-form button[type=button]{background:#0f1f2f14;color:#0f1f2f}.nickname-choice__create-error{font-size:12px;color:#c62828}.app{width:min(100%,420px);min-height:100%;padding:20px 16px 48px;display:flex;flex-direction:column;gap:16px;border-radius:28px;background:linear-gradient(180deg,#fffffff0,#ffffffe0 65%);box-shadow:var(--surface-shadow);position:relative}.app:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#f6c34024,#0d1f2f14);z-index:0}.app>*{position:relative;z-index:1}.app--auth{justify-content:center;min-height:100vh}.auth-gate{text-align:center;padding:24px;display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.5}.auth-gate__error{color:#c62828;font-weight:600}.auth-banner{font-size:13px;line-height:1.4;color:#0f1f2fb8;padding:12px 16px}.sync-banner{gap:6px}.sync-banner__row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.sync-banner__id{font-size:14px;font-weight:700;color:var(--color-navy-900);display:flex;align-items:center;gap:4px}.sync-banner__meta-item{font-size:12px;color:var(--color-text-muted)}.sync-banner__status{font-size:12px;font-weight:700;padding:4px 12px;border-radius:999px;background:#0f1f2f14;color:var(--color-navy-900)}.sync-banner__status--pending,.sync-banner__status--saving{background:#f6c34033;color:#7a4b00}.sync-banner__status--error{background:#c72c4126;color:#c72c41}.sync-banner__status--saved{background:#22c55e26;color:#0f5132}.sync-banner__meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--color-text-muted)}.sync-banner__error{margin:0;font-size:12px;color:#c72c41}@media(max-width:420px){.app{width:100%;padding:0 0 32px;border-radius:0;box-shadow:none}.app:before{display:none}}.surface-card{background:linear-gradient(180deg,#fffffff2,#fafcffdb);border:1px solid rgba(15,31,47,.08);border-radius:20px;padding:16px;box-shadow:0 16px 36px #0f1f2f14;display:flex;flex-direction:column;gap:12px;position:relative}.surface-card:after{content:"";position:absolute;top:0;left:16px;right:16px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--color-gold-400),var(--color-navy-700));pointer-events:none}@media(max-width:420px){.surface-card{padding:14px;border-radius:18px}}.section__header{display:flex;justify-content:space-between;align-items:center;gap:12px}.section__title{margin:0;font-size:16px;font-weight:700;letter-spacing:.02em;color:var(--color-navy-900)}.section__description{margin:0;font-size:13px;color:var(--color-text-muted)}.collapsible{overflow:hidden;max-height:0;opacity:0;transition:max-height .65s cubic-bezier(.25,.8,.25,1),opacity .45s ease-out;pointer-events:none}.collapsible[data-open=true]{max-height:1500px;opacity:1;pointer-events:auto}.collapsible--tall[data-open=true]{max-height:2400px}.game-params,.roles,.players,.actions,.voting{position:relative}.game-evening{gap:16px}.game-evening__body{display:flex;flex-direction:column;gap:12px;border-radius:14px;padding:0;background:transparent;transition:padding .35s cubic-bezier(.25,.8,.25,1),background-color .35s cubic-bezier(.25,.8,.25,1)}.game-evening__body[data-open=true]{background:#fff6;padding:8px}.game-evening__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.game-evening__row--lock{align-items:center}.game-evening__field{display:flex;flex-direction:column;gap:4px;min-width:140px;flex:1}.game-evening__header{flex-wrap:wrap}.game-evening__controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.game-evening__title-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.game-evening__toolbar{display:flex;justify-content:center;margin-top:4px}.game-evening__toggle{min-width:110px}.game-evening__sync{margin-left:0;white-space:nowrap;flex-shrink:0}.game-evening__blank-switcher{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 14px;border-radius:16px;border:1px solid rgba(15,31,47,.15);background:#0f1f2f0d;font-size:12px;font-weight:600;color:var(--color-navy-900);cursor:pointer;transition:background .2s ease,box-shadow .2s ease,transform .2s ease}.game-evening__blank-switcher:hover:not(:disabled){background:#0f1f2f14;box-shadow:0 6px 16px #0f1f2f14;transform:translateY(-1px)}.game-evening__blank-switcher:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #0f1f2f1f}.game-evening__blank-switcher:disabled{opacity:.5;cursor:not-allowed}.game-evening__blank-switcher-label{white-space:normal;text-align:left}.game-evening__blank-switcher-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(15,31,47,.2);border-top-color:var(--color-gold-400);animation:game-evening-spinner .75s linear infinite}@keyframes game-evening-spinner{to{transform:rotate(360deg)}}.blank-dialog{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center}.blank-dialog__overlay{position:absolute;inset:0;background:#080f1a8c;display:flex;align-items:center;justify-content:center;padding:24px}.blank-dialog__panel{width:min(420px,100%);max-height:min(560px,100%);border-radius:20px;background:#fdfefe;box-shadow:0 20px 50px #050e1c59;padding:20px;display:flex;flex-direction:column;gap:16px;overflow:hidden}.blank-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.blank-dialog__titles{display:flex;flex-direction:column;gap:2px}.blank-dialog__subtitle{margin:0;font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em}.blank-dialog__title{margin:0;font-size:18px;color:var(--color-navy-900)}.blank-dialog__close{border:none;border-radius:999px;width:32px;height:32px;font-size:20px;line-height:1;background:#0f1f2f14;color:var(--color-navy-900);cursor:pointer;transition:background .2s ease,transform .2s ease}.blank-dialog__close:hover{background:#0f1f2f1f;transform:rotate(90deg)}.blank-dialog__error{margin:0;font-size:13px;color:#c72c41}.blank-dialog__actions{display:flex;flex-wrap:wrap;gap:8px}.blank-dialog__action-button{flex:1;min-width:140px;height:32px;border-radius:12px;border:1px solid rgba(15,31,47,.15);background:#0f1f2f0a;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease}.blank-dialog__action-button:hover:not(:disabled){background:#0f1f2f12;transform:translateY(-1px)}.blank-dialog__action-button:disabled{opacity:.55;cursor:not-allowed}.blank-dialog__action-button--primary{background:linear-gradient(135deg,var(--color-gold-400),#f3a712);border:none;color:#0f1e30;box-shadow:0 8px 18px #f6c34059}.blank-dialog__action-button--primary:hover:not(:disabled){box-shadow:0 14px 24px #f6c34066}.blank-dialog__list{flex:1;overflow:auto;display:flex;flex-direction:column;gap:12px}.blank-dialog__loader,.blank-dialog__empty{margin:0;font-size:14px;color:var(--color-text-muted);display:flex;align-items:center;gap:8px;justify-content:center;padding:16px 0}.blank-dialog__loader-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(15,31,47,.2);border-top-color:var(--color-gold-400);animation:game-evening-spinner .8s linear infinite}.blank-dialog__confirm{padding:12px;border:1px solid rgba(199,44,65,.3);border-radius:14px;background:#c72c4114;display:flex;flex-direction:column;gap:10px}.blank-dialog__confirm-text{margin:0;font-size:14px;color:var(--color-navy-900)}.blank-dialog__confirm-actions{display:flex;gap:8px}.blank-dialog__confirm-button{flex:1;height:32px;border-radius:10px;border:none;font-size:13px;font-weight:600;cursor:pointer;background:#0f1f2f14;color:var(--color-navy-900)}.blank-dialog__confirm-button--danger{background:#c72c41;color:#fff;box-shadow:0 10px 18px #c72c4159}.blank-dialog__confirm-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.blank-card{border:1px solid rgba(15,31,47,.12);border-radius:16px;background:#fff;appearance:none;width:100%;border-width:1px;padding:14px;text-align:left;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.blank-card:disabled{opacity:.6;cursor:not-allowed}.blank-card:focus-visible{outline:2px solid var(--color-gold-400);outline-offset:2px}.blank-card:hover{border-color:#f6c34099;box-shadow:0 12px 24px #0f1f2f1f}.blank-card[data-active=true]{border-color:var(--color-gold-400);box-shadow:0 14px 30px #f6c34047}.blank-card__title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.blank-card__title-group{display:flex;flex-direction:column;gap:4px}.blank-card__title{font-size:16px;font-weight:700;color:var(--color-navy-900)}.blank-card__status{font-size:12px;font-weight:600;padding:2px 10px;border-radius:999px;background:#0f1f2f1a;color:var(--color-navy-900)}.blank-card__status--finished{background:#22c55e2e;color:#0f5132}.blank-card__status--in-progress{background:#f6c34033;color:#7a4b00}.blank-card__delete{border:none;background:transparent;font-size:18px;cursor:pointer;padding:0;line-height:1;transition:transform .2s ease}.blank-card__delete:hover:not(:disabled){transform:scale(1.1)}.blank-card__delete:disabled{opacity:.4;cursor:not-allowed}.blank-card__meta{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--color-text-muted)}.blank-card__updated{font-size:12px;color:var(--color-text-muted)}.blank-card[data-delete-pending=true]{border-color:#c72c41a6;box-shadow:0 14px 30px #c72c4140}.game-evening__sync-error{margin:0;font-size:12px;color:#c72c41}.game-evening__label,.game-evening__lock-label{font-size:12px;font-weight:600;color:var(--color-text-muted)}.game-evening__input,.game-evening__select{height:32px;padding:0 10px;border-radius:10px;border:1px solid rgba(16,32,49,.25);background:var(--color-card);color:var(--color-text-primary);font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.game-evening__input:focus,.game-evening__select:focus{border-color:var(--color-gold-400);box-shadow:0 0 0 2px #f6c34040;outline:none}.game-evening__lock{display:flex;flex-direction:column;gap:6px;min-width:200px}.game-evening__lock-hint{font-size:12px;color:var(--color-text-muted)}.game-params__header,.roles__header,.players__header,.actions__header,.voting__header{display:flex;justify-content:space-between;align-items:center;gap:12px}.game-params__title,.roles__title,.players__title,.actions__title,.voting__title{margin:0;font-size:16px;font-weight:700;color:var(--color-navy-900)}.game-params__toggle,.roles__toggle,.players__toggle,.actions__toggle,.voting__toggle,.actions__winner-button{min-width:110px;height:32px;padding:0 16px;border-radius:16px;border:none;background:linear-gradient(135deg,var(--color-gold-400),#f3a712);color:#0f1e30;font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.03em;box-shadow:0 6px 12px #f6c34059;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.game-params__toggle:hover,.roles__toggle:hover,.players__toggle:hover,.actions__toggle:hover,.voting__toggle:hover,.actions__winner-button:hover{transform:translateY(-1px);box-shadow:0 12px 20px #f6c34066}.game-params__toggle:active,.roles__toggle:active,.players__toggle:active,.actions__toggle:active,.voting__toggle:active,.actions__winner-button:active{transform:translateY(1px);box-shadow:0 4px 10px #f6c34059}.game-params__toggle:disabled,.roles__toggle:disabled,.players__toggle:disabled,.actions__toggle:disabled,.voting__toggle:disabled,.actions__winner-button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.actions__winner-button--red{background:linear-gradient(135deg,#ffd1cc,#ff6b6b);color:#111;box-shadow:0 6px 12px #ff6b6b66}.actions__winner-button--red:hover{box-shadow:0 12px 20px #ff6b6b73}.actions__winner-button--red:active{box-shadow:0 4px 10px #ff6b6b66}.actions__winner-button--black{background:linear-gradient(135deg,#1e293b,#050505);color:#fff;box-shadow:0 6px 12px #00000073}.actions__winner-button--black:hover{box-shadow:0 12px 20px #0000008c}.actions__winner-button--black:active{box-shadow:0 4px 10px #00000080}.voting__table{border-collapse:collapse;width:100%;table-layout:fixed}.voting__table th,.voting__table td{border:1px solid rgba(16,32,49,.2);padding:0;text-align:center;height:30px;font-size:12px}.voting__table th:first-child,.voting__table td:first-child{width:12%}.voting__table th:not(:first-child),.voting__table td:not(:first-child){width:8.8%}.voting__corner-cell,.voting__row-label{font-weight:600;background:#0f1f2f14}.voting__column-header{background:#0f1f2f14}.voting__input{width:100%;height:30px;border:none;text-align:center;font-size:12px;box-sizing:border-box;background:transparent}.game-params__toggle:focus-visible,.roles__toggle:focus-visible,.players__toggle:focus-visible,.actions__toggle:focus-visible,.voting__toggle:focus-visible,.actions__winner-button:focus-visible,.actions__add-button:focus-visible{outline:2px solid var(--color-navy-700);outline-offset:2px}.game-params__body,.actions__body,.voting__content{display:flex;flex-direction:column;gap:12px;border-radius:14px;padding:0;background:transparent;transition:padding .35s cubic-bezier(.25,.8,.25,1),background-color .35s cubic-bezier(.25,.8,.25,1)}.game-params__body[data-open=true],.actions__body[data-open=true],.voting__content[data-open=true]{background:#fff6;padding:8px}.game-params__row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start}.game-params__actions{margin-top:4px;display:flex;flex-direction:column;gap:16px}.game-params__field{display:flex;flex-direction:column;gap:4px;position:relative}.game-params__label{font-size:12px;font-weight:600;color:var(--color-text-muted)}.game-params__input{height:32px;padding:0 6px;border-radius:10px;border:1px solid rgba(16,32,49,.25);background:var(--color-card);color:var(--color-text-primary);transition:border-color .2s ease,box-shadow .2s ease}.game-params__input:focus{border-color:var(--color-gold-400);box-shadow:0 0 0 2px #f6c34040;outline:none}.game-params__input--date{width:60px;font-size:12px}.game-params__input--host{flex:1 1 auto;width:auto}.game-params__input-group{display:flex;gap:8px;align-items:center}.game-params__input-group .game-params__input{flex:1 1 auto}.game-params__input--number{width:30px;text-align:center}.roles__grid{display:grid;grid-template-columns:repeat(5,minmax(60px,1fr));width:100%;max-width:100%;border-radius:14px;padding:0;background:transparent;box-shadow:none;transition:padding .35s cubic-bezier(.25,.8,.25,1),background-color .35s cubic-bezier(.25,.8,.25,1),box-shadow .35s cubic-bezier(.25,.8,.25,1)}.roles__grid[data-open=true]{padding:8px;background:#ffffffeb;box-shadow:inset 0 0 0 1px #10203126}.roles__cell{display:flex;align-items:center;justify-content:center;font-size:14px;border-right:1px solid rgba(16,32,49,.2);border-top:1px solid rgba(16,32,49,.2);background:#fffc}.roles__cell--header{min-height:56px;border-top:none;border-bottom:1px solid rgba(16,32,49,.2);font-weight:700;color:var(--color-navy-700)}.roles__cell--slot{min-height:48px;border-top:none;border:none;border-right:1px solid rgba(16,32,49,.2);border-top:1px solid rgba(16,32,49,.15);border-radius:0;padding:0;text-align:center;font-size:16px;width:100%;height:100%;box-sizing:border-box;grid-row:2;background:#fff9}.roles__cell:last-child{border-right:none}.players{gap:16px}.roles__grid .roles__cell--header:nth-child(3){border-right:none}.players__header{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px}.players__status{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text-muted)}.players__status-label{font-weight:600}.players__lock-button{position:relative;min-width:170px;height:34px;padding:0 20px;border-radius:18px;border:1px solid rgba(15,31,47,.25);background:#0f1f2f14;color:var(--color-navy-900);font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none;--lock-track-color: #2f855a;transition:border-color .35s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1),background .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1)}.players__lock-button--locked{background:linear-gradient(135deg,#34d399,#059669);border-color:#047857;color:#0f1e30;box-shadow:0 6px 14px #05966959;--lock-track-color: rgba(255, 255, 255, .35)}.players__lock-button--unlocked{background:#0f1f2f14;border-color:#0f1f2f40}.players__lock-button-track{position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--lock-progress, 0));background:var(--lock-track-color, #2f855a);transition:transform .25s cubic-bezier(.22,1,.36,1);z-index:0}.players__lock-button-label{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:6px}.players__lock-button:hover{transform:translateY(-.5px)}.players__lock-button:active{transform:translateY(.5px)}.players__lock-button:focus-visible{outline:2px solid rgba(15,31,47,.45);outline-offset:2px}.players__lock-button--disabled,.players__lock-button:disabled{cursor:not-allowed;opacity:.7;box-shadow:none;transform:none}.players__table-wrapper{overflow-x:auto;border-radius:14px;background:#ffffffbf;box-shadow:inset 0 0 0 1px #10203114;padding:6px}.players__table-wrapper::-webkit-scrollbar,.voting__table-wrapper::-webkit-scrollbar{height:6px}.players__table-wrapper::-webkit-scrollbar-track,.voting__table-wrapper::-webkit-scrollbar-track{background:#0f1f2f14;border-radius:999px}.players__table-wrapper::-webkit-scrollbar-thumb,.voting__table-wrapper::-webkit-scrollbar-thumb{background:var(--color-navy-700);border-radius:999px}.players__table{width:100%;border-collapse:collapse}.players__table th,.players__table td{border:1px solid rgba(15,31,47,.2);padding:6px;text-align:left;font-size:12px}.players__table th{font-weight:700;text-align:center;background:#8dd8f659;color:var(--color-navy-900)}.players__table td:first-child{text-align:center;width:30px;background:#0f1f2f0d}.players__input{height:28px;padding:0 6px;font-size:12px;box-sizing:border-box;border-radius:8px;border:1px solid rgba(16,32,49,.25);background:#fff}.players__input:focus{border-color:var(--color-gold-400);box-shadow:0 0 0 2px #f6c34033;outline:none}.players__input--nickname{width:100px}.nickname-display,.players__nickname-button{width:100%;min-height:32px;border-radius:12px;border:1px solid rgba(15,31,47,.2);background:#0f1f2f08;padding:6px 10px;text-align:left;font-size:14px;color:#0f1f2f;cursor:pointer}.players__nickname-button{min-height:28px;font-size:12px}.nickname-display:disabled,.players__nickname-button:disabled{opacity:.5;cursor:not-allowed}.players__input--number{width:30px;text-align:center}.players__input--decimal{width:50px;text-align:center}.players__bonus-control{display:flex;align-items:center;justify-content:center;gap:10px}.players__bonus-buttons{display:flex;flex-direction:column;gap:4px}.players__bonus-button{width:26px;height:22px;border-radius:6px;border:1px solid rgba(15,31,47,.2);background:#ffffffeb;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s ease,transform .15s ease,border-color .2s ease}.players__bonus-button:hover:not(:disabled){background:#f6c34033;border-color:var(--color-gold-400)}.players__bonus-button:active:not(:disabled){transform:translateY(1px)}.players__bonus-button:disabled{cursor:not-allowed;opacity:.5}.players__bonus-value{min-width:64px;padding:4px 10px;border-radius:10px;background:#0f1f2f0a;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}.players__protocol-button{height:28px;padding:0 12px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--color-gold-400),#f3a712);color:#0f1e30;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 6px 12px #f6c34059;transition:transform .2s ease,box-shadow .2s ease}.players__protocol-button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #f6c34066}.players__protocol-button:active{transform:translateY(1px)}.players__protocol-button:focus-visible{outline:2px solid var(--color-navy-700);outline-offset:2px}.players__protocol-button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.actions__body{gap:16px}.actions__row{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.actions__label{font-size:12px;min-width:90px;line-height:32px;color:var(--color-text-muted)}.actions__lh{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.actions__second-lh{display:flex;flex-direction:column;gap:12px;flex:1}.actions__second-lh-fields{display:flex;flex-wrap:nowrap;gap:12px;align-items:flex-end}.actions__inline-group{display:flex;flex-direction:column;gap:4px;min-width:110px}.actions__lh-list{display:flex;flex-direction:column;gap:4px;min-width:150px}.actions__inline-caption{font-size:12px;color:var(--color-text-muted)}.actions__inputs-row{display:flex;gap:6px;flex-wrap:nowrap}.actions__input{width:30px;height:30px;padding:0;text-align:center;font-size:12px;box-sizing:border-box;border:1px solid rgba(16,32,49,.25);border-radius:8px;background:#ffffffe6;transition:border-color .2s ease,transform .15s ease}.actions__input:hover{border-color:var(--color-gold-400)}.game-params__input--picker{cursor:pointer;text-align:center;justify-content:center}.actions__input:active{transform:scale(.96)}.actions__add-button{min-width:120px;height:32px;padding:0 18px;border-radius:999px;border:1px dashed rgba(16,32,49,.35);background:#ffffffeb;font-size:13px;font-weight:600;color:var(--color-navy-900);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}.actions__add-button:hover{border-color:var(--color-gold-400);box-shadow:0 6px 12px #0f1f2f33}.actions__add-button:active{transform:translateY(1px)}.actions__add-button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.actions__shooting-grid{display:grid;grid-template-columns:repeat(6,30px);gap:6px}.voting__controls{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.voting__control-label{font-size:12px;color:var(--color-text-muted);white-space:nowrap}.voting__round-select.fast-choice__trigger{width:120px;min-width:120px;height:32px;padding:0 16px;font-size:12px;font-weight:700;letter-spacing:.03em;display:flex;align-items:center;justify-content:center;border:none;border-radius:16px;background:linear-gradient(135deg,var(--color-gold-400),#f3a712);color:#0f1e30;cursor:pointer;box-shadow:0 6px 12px #f6c34059;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.voting__round-select.fast-choice__trigger:hover{transform:translateY(-1px);box-shadow:0 12px 20px #f6c34066}.voting__round-select.fast-choice__trigger:focus-visible{outline:2px solid var(--color-gold-200);outline-offset:2px}.voting__round-select.fast-choice__trigger:active{transform:translateY(1px);box-shadow:0 4px 10px #f6c34059}@media(max-width:400px){.actions__shooting-grid{grid-template-columns:repeat(5,30px)}}@media(prefers-reduced-motion:reduce){.collapsible,.game-params__toggle,.roles__toggle,.players__toggle,.actions__toggle,.voting__toggle,.actions__winner-button,.players__protocol-button,.fast-choice__trigger,.fast-choice__option,.fast-choice__close{transition:none}}
