:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#090908;--ink-soft:#11110f;--panel:#141310eb;--panel-soft:#1f1c16d1;--paper:#e9dfc8;--paper-muted:#aaa18f;--gold:#c9a45b;--gold-bright:#f0d28e;--gold-dark:#6e5428;--red:#9d2a25;--red-bright:#d8493f;--green:#5f846b;--line:#c9a45b42;--radius:20px;--shadow:0 24px 80px #00000080}*{box-sizing:border-box}html{background:var(--ink);min-height:100%;overflow-x:hidden}body{min-height:100vh;color:var(--paper);background:radial-gradient(circle at 16% 4%,#9d2a2533,#0000 34rem),radial-gradient(circle at 90% 110%,#c9a45b1f,#0000 38rem),linear-gradient(145deg,#070706 0%,#10100e 55%,#070706 100%);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}body:before{content:"";pointer-events:none;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");position:fixed;inset:0}button,input{font:inherit}button{overflow-wrap:anywhere;white-space:normal;-webkit-tap-highlight-color:transparent;max-width:100%;line-height:1.25}h1,h2,h3,p,strong,.brand-wordmark,.player-name,.player-role{overflow-wrap:anywhere}img,svg{max-width:100%}.demo-bar{z-index:20;min-height:58px;padding:10px max(16px, env(safe-area-inset-left));border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080807e6;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;display:grid;position:sticky;top:0}.demo-brand{color:var(--paper-muted);letter-spacing:.04em;align-items:center;gap:10px;font-size:.84rem;display:flex}.demo-dot{background:var(--red-bright);border-radius:50%;width:8px;height:8px;box-shadow:0 0 14px #d8493fb3}.mode-switch{border:1px solid var(--line);background:#0e0e0c;border-radius:999px;padding:3px;display:flex}.mode-button,.reset-button{min-height:36px;color:var(--paper-muted);cursor:pointer;background:0 0;border:0}.mode-button{border-radius:999px;padding:0 16px}.mode-button.is-active{color:#17130b;background:var(--gold-bright)}.reset-button{justify-self:end;padding:0 10px}:is(.reset-button:hover,.reset-button:focus-visible){color:var(--gold-bright)}.app-shell{z-index:1;place-items:center;width:min(1180px,100%);min-height:calc(100vh - 58px);margin:0 auto;padding:clamp(18px,3vw,44px);display:grid;position:relative}.app-shell.phone-mode{width:min(470px,100%);padding:18px 12px 34px}.surface{border:1px solid var(--line);width:100%;box-shadow:var(--shadow), inset 0 1px #ffffff06;background:linear-gradient(155deg,#1e1c17f5,#0a0a09fa);border-radius:clamp(18px,2.5vw,28px);overflow:hidden}.table-mode .surface{min-height:min(710px,100vh - 120px)}.phone-mode .surface{border-radius:30px;min-height:min(760px,100vh - 96px)}.phone-mode h2{font-size:clamp(2rem,9vw,2.85rem)}.screen{min-height:inherit;flex-direction:column;display:flex}.screen-pad{padding:clamp(22px,4vw,52px)}.screen-topline{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.hero-grid>*,.room-layout>*,.challenge-layout>*,.winner-layout>*,.player-row>*,.leader-row>*,.screen-topline>*,.phone-header>*{min-width:0}.brand-lockup{align-items:center;gap:12px;display:flex}.seal{border:2px solid var(--red-bright);width:46px;height:46px;color:var(--gold-bright);border-radius:50%;flex:none;place-items:center;font-family:Georgia,serif;font-weight:700;line-height:1;display:grid;box-shadow:inset 0 0 0 4px #9d2a252e}.brand-wordmark{letter-spacing:.08em;text-transform:uppercase;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.05rem,2vw,1.35rem)}.eyebrow,.meta-label{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;font-weight:700}.eyebrow{margin:0 0 14px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:500}h1{letter-spacing:-.045em;max-width:780px;margin-bottom:18px;font-size:clamp(2.45rem,7vw,5.7rem);line-height:.95}h2{letter-spacing:-.03em;margin-bottom:16px;font-size:clamp(2rem,4.5vw,4rem);line-height:1}h3{margin-bottom:10px;font-size:clamp(1.25rem,2.1vw,1.7rem)}.lead{color:#c8bfad;max-width:660px;font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.65}.muted{color:var(--paper-muted)}.hero-grid{min-height:inherit;grid-template-columns:minmax(0,1.05fr) minmax(300px,.65fr);display:grid}.hero-copy{align-self:center;padding:clamp(30px,6vw,78px)}.hero-art{background:linear-gradient(90deg,#13110d 0%,#0000 34%),linear-gradient(#0000 60%,#0c0c0a 100%),url(/assets/shogun.jpg) 50% 18%/cover no-repeat;min-height:540px;position:relative}.hero-art:after{content:"СЛОВО — ТВОЙ КЛИНОК";max-width:130px;color:var(--gold-bright);letter-spacing:.13em;text-align:right;font-family:Georgia,serif;font-size:.82rem;line-height:1.45;position:absolute;bottom:30px;right:24px}.actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.primary-button,.secondary-button,.danger-button,.choice-button,.blade-button{cursor:pointer;border:1px solid #0000;border-radius:12px;min-height:50px;padding:0 22px;font-weight:700;transition:transform .14s,border-color .14s,background .14s}.primary-button{color:#19140b;background:linear-gradient(135deg, var(--gold-bright), #b98b3f);box-shadow:0 10px 26px #c9a45b29}.secondary-button,.choice-button,.blade-button{color:var(--paper);border-color:var(--line);background:#ffffff06}.danger-button{color:#fff0e7;background:#9d2a2533;border-color:#d8493f73}:is(.primary-button:hover,.secondary-button:hover,.choice-button:hover,.blade-button:hover,.primary-button:focus-visible,.secondary-button:focus-visible,.choice-button:focus-visible,.blade-button:focus-visible){transform:translateY(-1px)}.secondary-button:hover,.choice-button:hover,.blade-button:hover{border-color:var(--gold)}.primary-button:disabled,.secondary-button:disabled{opacity:.45;cursor:default;transform:none}.room-layout{grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);align-items:start;gap:clamp(26px,5vw,64px);display:grid}.room-code-card,.info-card,.challenge-card,.result-card,.vote-card{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff06}.room-code-card{text-align:center;padding:28px}.room-code{color:var(--gold-bright);letter-spacing:.13em;margin:12px 0 6px;font-family:Georgia,serif;font-size:clamp(2.3rem,6vw,4.2rem)}.room-link,.sync-note,.form-error,.connection-badge{overflow-wrap:anywhere;word-break:break-word}.room-link{color:var(--paper-muted);margin-top:12px;font-size:.76rem;line-height:1.45;display:block}.sync-note,.form-error{margin-top:14px;line-height:1.5}.form-error{color:#ffaaa0}.connection-badge{color:#cce3d2;background:#5f846b1f;border:1px solid #5f846b6b;border-radius:999px;max-width:100%;padding:8px 11px;font-size:.78rem;line-height:1.25;display:inline-flex}.waiting-state{margin-top:24px}.code-dots{background:conic-gradient(from 90deg at 25% 25%, #e8dec6 0 25%, #17150f 0 50%, #e8dec6 0 75%, #17150f 0) 0 0 / 30px 30px;width:132px;height:132px;box-shadow:inset 0 0 0 8px #17150f, 0 0 0 1px var(--gold-dark);border:10px solid #e8dec6;margin:22px auto;position:relative}.code-dots span{color:var(--paper);letter-spacing:.08em;text-transform:uppercase;background:#0a0a09eb;place-items:center;padding:8px;font-size:.7rem;font-weight:800;line-height:1.25;display:grid;position:absolute;inset:26px}.player-list{gap:10px;display:grid}.player-row{background:#00000029;border:1px solid #c9a45b29;border-radius:14px;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;min-height:76px;padding:11px 15px;display:grid}.avatar{border:1px solid var(--gold-dark);background:#1a1813;border-radius:50%;width:48px;height:48px;overflow:hidden}.avatar img{object-fit:cover;object-position:top;width:100%;height:100%}.player-name{margin-bottom:3px;font-weight:700}.player-role{color:var(--paper-muted);font-size:.82rem}.ready-mark{color:#a6c4ad;font-size:.82rem}.journey{grid-template-columns:repeat(var(--journey-columns,4), minmax(0, 1fr));gap:10px;margin:28px 0;display:grid}.journey.journey-1{grid-template-columns:1fr}.format-picker{border:0;min-width:0;margin:22px 0 0;padding:0}.format-picker legend{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:.76rem;font-weight:700}.format-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.format-option{border:1px solid var(--line);min-width:0;min-height:82px;color:var(--paper);cursor:pointer;text-align:left;background:#00000029;border-radius:12px;padding:12px}.format-option strong,.format-option span{display:block}.format-option span{color:var(--paper-muted);margin-top:6px;font-size:.78rem}.format-option.is-selected{border-color:var(--gold-bright);background:#c9a45b1a;box-shadow:inset 0 0 0 1px #c9a45b33}.format-summary{margin-top:14px}.journey-step{border:1px solid var(--line);min-height:88px;color:var(--paper-muted);background:#00000024;border-radius:14px;flex-direction:column;justify-content:space-between;padding:14px;display:flex}.journey-step.is-active{color:var(--paper);border-color:var(--red-bright);background:linear-gradient(145deg,#9d2a2542,#0003)}.journey-number{color:var(--gold);letter-spacing:.12em;font-size:.72rem}.challenge-layout{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:stretch;gap:clamp(20px,4vw,38px);display:grid}.challenge-card{background:linear-gradient(130deg,#9d2a2521,#0000 48%),#e8dec609;padding:clamp(24px,4vw,42px);position:relative}.challenge-card:before,.challenge-card:after{content:"";border-color:var(--gold-dark);width:40px;height:40px;position:absolute}.challenge-card:before{border-top:1px solid;border-left:1px solid;top:12px;left:12px}.challenge-card:after{border-bottom:1px solid;border-right:1px solid;bottom:12px;right:12px}.challenge-number{color:var(--red-bright);letter-spacing:.12em;font-size:.9rem;font-weight:800}.challenge-task{margin:28px 0;font-family:Georgia,serif;font-size:clamp(1.3rem,2.6vw,2.1rem);line-height:1.4}.mastery{border-top:1px solid var(--line);color:#d4c7ac;padding-top:20px;line-height:1.55}.side-stack{gap:14px;display:grid}.info-card,.result-card,.vote-card{padding:20px}.active-player{align-items:center;gap:13px;display:flex}.timer{background:radial-gradient(circle closest-side, #11100d 82%, transparent 83%), conic-gradient(var(--gold-bright) var(--timer-progress,75%), #c9a45b21 0);border-radius:50%;place-items:center;width:172px;height:172px;margin:18px auto;display:grid;position:relative}.timer-value{font-family:Georgia,serif;font-size:3.2rem}.timer-label{color:var(--paper-muted);letter-spacing:.12em;text-transform:uppercase;margin-top:-8px;font-size:.72rem;display:block}.timer.is-live{filter:drop-shadow(0 0 20px #c9a45b24)}.timer.is-expired{background:radial-gradient(circle closest-side, #11100d 82%, transparent 83%), conic-gradient(var(--red-bright) 100%, #d8493f21 0);filter:drop-shadow(0 0 22px #d8493f38)}.blade-alert{background:linear-gradient(135deg,#9d2a2552,#1f0d0c61);border:1px solid #d8493f8c;border-radius:16px;padding:22px;box-shadow:0 0 32px #9d2a2521}.blade-alert-heading{align-items:center;gap:13px;display:flex}.blade-alert-heading strong{color:#ffb1a2;margin-top:5px;font-family:Georgia,serif;font-size:1.55rem;display:block}.blade-alert p{margin:16px 0 10px;line-height:1.5}.blade-mastery{color:var(--paper-muted);font-size:.86rem;line-height:1.45;display:block}.blade-symbol{width:44px;height:44px;color:var(--gold-bright);background:#9d2a2533;border:1px solid #d8493f8f;border-radius:50%;flex:none;place-items:center;font-family:Hiragino Mincho ProN,Yu Mincho,Georgia,serif;font-size:1.2rem;display:grid}.blade-hand{margin-top:24px}.blade-hand-title{justify-content:space-between;align-items:end;gap:12px;display:flex}.blade-hand-title h3{margin-bottom:0}.blade-hand-title>span{color:var(--gold-bright);font-size:.82rem}.blade-hand-grid{gap:10px;margin-top:14px;display:grid}.blade-card{min-width:0;min-height:112px;color:var(--paper);cursor:pointer;text-align:left;background:linear-gradient(135deg,#9d2a253b,#140c0a66);border:1px solid #d8493f73;border-radius:14px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.blade-card strong,.blade-card small{display:block}.blade-card small{color:var(--paper-muted);margin-top:5px;font-size:.78rem;line-height:1.35}.blade-card em{color:#ffb1a2;font-size:.76rem;font-style:normal;font-weight:700}:is(.blade-card:hover,.blade-card:focus-visible){border-color:var(--red-bright);transform:translateY(-1px)}.blade-card.is-used,.blade-card:disabled{opacity:.42;cursor:default;transform:none}.blade-vote-note{border-top:1px solid #d8493f47;margin-top:16px;padding-top:14px}.blade-vote-note strong,.blade-vote-note span{display:block}.blade-vote-note strong{color:#ffb1a2}.blade-vote-note span{color:var(--paper-muted);margin-top:5px;font-size:.84rem;line-height:1.45}.blade-preview{margin-top:12px}.blade-preview>p:last-child{margin-bottom:0}.vote-grid,.blade-grid,.result-grid,.stats-grid{gap:14px;display:grid}.vote-grid,.result-grid{grid-template-columns:repeat(2,1fr)}.choice-pair{grid-template-columns:1fr 1fr;gap:9px;margin-top:16px;display:grid}.choice-button.is-selected{color:#18140b;border-color:var(--gold-bright);background:var(--gold-bright)}.blade-grid{grid-template-columns:1fr 1fr}.blade-button{text-align:left;min-height:110px;padding:16px}.blade-button strong,.blade-button span{display:block}.blade-button strong{color:#ffb1a2;margin-bottom:8px}.blade-button span{color:var(--paper-muted);font-size:.86rem;font-weight:400;line-height:1.4}.honor-total{color:var(--gold-bright);font-family:Georgia,serif;font-size:clamp(3rem,8vw,6rem);line-height:1}.score-editor{flex-wrap:wrap;gap:10px 14px;margin-top:22px;display:flex}.score-editor-group{border:1px solid var(--line);background:#0000002e;border-radius:12px;grid-template-columns:minmax(58px,1fr) 38px minmax(28px,auto) 38px;align-items:center;gap:7px;min-width:220px;padding:7px;display:grid}.score-editor-group>span{color:var(--paper-muted);font-size:.82rem}.score-editor-group>strong{text-align:center;min-width:24px}.score-stepper{border:1px solid var(--gold-dark);width:38px;min-height:38px;color:var(--gold-bright);cursor:pointer;background:#c9a45b14;border-radius:9px;padding:0;font-size:1.25rem;font-weight:700}:is(.score-stepper:hover,.score-stepper:focus-visible){border-color:var(--gold-bright);background:#c9a45b29}.score-stepper:disabled{opacity:.35;cursor:default}.score-editor.is-compact{margin-top:9px}.score-editor.is-compact .score-editor-group{min-width:min(100%,212px)}.result-item{border:1px solid var(--line);background:#ffffff05;border-radius:16px;min-height:122px;padding:20px}.result-item>*{min-width:0}.result-item.is-earned{background:#c9a45b14;border-color:#c9a45b85}.result-symbol{color:var(--gold-bright);margin-bottom:14px;font-family:Hiragino Mincho ProN,Yu Mincho,Georgia,serif;font-size:1.3rem}.finalist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.final-vote-progress{margin-top:14px}.final-choice-list{gap:12px;margin-top:24px;display:grid}.final-choice{text-align:left;align-content:center;gap:8px;min-height:82px;display:grid}.final-choice strong,.final-choice span{display:block}.final-choice span{color:var(--paper-muted);font-size:.84rem;font-weight:400}.leaderboard{gap:10px;margin-top:24px;display:grid}.leader-row{border-bottom:1px solid var(--line);grid-template-columns:38px 50px 1fr auto;align-items:center;gap:12px;min-height:70px;padding:9px 14px;display:grid}.leader-row:first-child{background:#c9a45b12;border:1px solid #c9a45b6b;border-radius:14px}.leader-honor{white-space:nowrap;align-self:start;padding-top:12px}.rank{color:var(--gold);font-family:Georgia,serif;font-size:1.3rem}.seals-row{gap:5px;margin-top:4px;display:flex}.mini-seal{border:1px solid var(--gold-dark);background:#c9a45b1f;border-radius:50%;width:16px;height:16px}.role-reveal{background:linear-gradient(#0a0a0814 24%,#0b0b09c2 60%,#0b0b09 98%),url(/assets/tactician.jpg) top/cover no-repeat;flex-direction:column;justify-content:flex-end;min-height:700px;padding:26px;display:flex;position:relative}.role-reveal h2{letter-spacing:.04em;margin-bottom:6px;font-size:3.1rem}.role-weapon{color:var(--gold-bright);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}.role-ability{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080807bd;border:1px solid #c9a45b5c;border-radius:14px;margin-top:18px;padding:18px}.phone-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.phone-body{flex:1;min-width:0;padding:24px 20px 28px}.status-pill{border:1px solid var(--line);min-height:30px;color:var(--paper-muted);border-radius:999px;align-items:center;gap:8px;padding:0 10px;font-size:.76rem;display:inline-flex}.status-pill:before{content:"";background:#7ba488;border-radius:50%;width:7px;height:7px}.join-form{gap:16px;margin-top:28px;display:grid}.field{gap:8px;display:grid}.field label{color:var(--paper-muted);font-size:.82rem}.field input{border:1px solid var(--line);width:100%;min-height:54px;color:var(--paper);background:#ffffff09;border-radius:12px;outline:none;padding:0 16px}.field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a45b1a}.full-button{width:100%}.phone-challenge{border:1px solid var(--line);background:linear-gradient(145deg,#9d2a2521,#ffffff06);border-radius:16px;padding:20px}.phone-challenge h2{font-size:2.15rem}.phone-task{margin:22px 0;font-family:Georgia,serif;font-size:1.2rem;line-height:1.5}.phone-footer{gap:10px;padding:0 20px 22px;display:grid}.toast{color:#cce3d2;background:#5f846b21;border:1px solid #5f846b66;border-radius:12px;margin-top:16px;padding:13px 15px}.demo-note{color:var(--paper-muted);border:1px dashed #c9a45b5c;border-radius:10px;margin-bottom:16px;padding:10px 12px;font-size:.8rem;line-height:1.45}.progress-line{background:#c9a45b1f;border-radius:999px;height:6px;margin:18px 0;overflow:hidden}.progress-line span{width:var(--progress,68%);border-radius:inherit;background:var(--gold-bright);height:100%;display:block}.final-art{border-radius:var(--radius);background:linear-gradient(90deg,#08080759,#080807cc),url(/assets/duelist.jpg) 50% 25%/cover no-repeat;min-height:280px}.winner-layout{grid-template-columns:.8fr 1.2fr;align-items:center;gap:32px;display:grid}@media (max-width:800px){.demo-bar{grid-template-columns:1fr auto}.demo-brand{display:none}.hero-grid,.room-layout,.challenge-layout,.winner-layout{grid-template-columns:1fr}.hero-art{order:-1;min-height:360px}.table-mode .surface{min-height:auto}.journey{grid-template-columns:1fr 1fr}.format-options,.vote-grid,.result-grid,.finalist-grid{grid-template-columns:1fr}}@media (max-width:480px){.demo-bar{gap:8px;padding-inline:8px}.mode-button{padding:0 10px;font-size:.78rem}.reset-button{padding-inline:6px;font-size:.78rem}.app-shell,.app-shell.phone-mode{padding:8px}.phone-mode .surface,.surface{border-radius:20px}.screen-pad{padding:22px 18px}h1{font-size:2.8rem}.screen-topline,.phone-header{gap:10px}.brand-wordmark{font-size:.96rem}.status-pill{text-align:center;flex:0 auto}.leader-row{grid-template-columns:26px 42px minmax(0,1fr);gap:8px;padding-inline:10px}.leader-honor{grid-column:3;padding-top:0}.score-editor-group{grid-template-columns:minmax(58px,1fr) 38px minmax(28px,auto) 38px;min-width:100%}.leader-row .avatar{width:42px;height:42px}.role-reveal{min-height:max(520px,100svh - 76px);padding:22px 20px}.journey-step{min-height:76px}.blade-card{grid-template-columns:40px minmax(0,1fr)}.blade-card em{grid-column:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.loading-card,.error-card{border:1px solid var(--line);border-radius:var(--radius);text-align:center;background:#0c0c0af0;width:min(560px,100%);margin:auto;padding:clamp(24px,5vw,42px)}.error-card{border-color:#d8493f73}.connection-badge{color:#a6c4ad;align-items:center;gap:8px;font-size:.82rem;display:inline-flex}.connection-badge:before{content:"";background:#7ba488;border-radius:50%;width:8px;height:8px;box-shadow:0 0 12px #7ba48899}.qr-image{background:#f3ead5;border-radius:12px;width:168px;height:168px;margin:20px auto;padding:8px;display:block}.room-link{max-width:100%;color:var(--paper-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;display:block;overflow:hidden}.form-error{color:#ffb1a2;margin:0;font-size:.88rem;line-height:1.4}.waiting-state{border:1px solid var(--line);text-align:center;background:#ffffff06;border-radius:16px;margin-top:24px;padding:22px}.sync-note{color:var(--paper-muted);font-size:.8rem}
