@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600&family=Roboto+Mono:wght@400;500;700&display=swap');
:root{--chalk:#d6c9a9;--faint:#8c8067;--rust:#9c3d25;--live:#aa3c25;--blank:#b3aa91;--line:rgba(221,204,163,.32);--dark:#0b0907}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--chalk);font-family:'Roboto Mono',monospace;background:radial-gradient(circle at 50% -20%,#453323 0,transparent 42%),#090806;overflow-x:hidden}.grain{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.1;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 baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.topbar{height:80px;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;background:#0d0b08;border-bottom:1px solid #3e3128;box-shadow:0 8px 30px #000}.topbar span,.case-head small,.side-label small{font-size:7px;letter-spacing:.17em;color:#9b543b}.topbar h1{font:600 27px Oswald;margin:2px 0;color:#d0c3a6;letter-spacing:.05em}.meta{display:flex;gap:7px;align-items:stretch}.meta label{font-size:7px;color:var(--faint);background:#15110d;border:1px solid #332820;padding:7px}.meta input,.meta select{display:block;width:70px;background:transparent;border:0;color:var(--chalk);font:500 15px Oswald;outline:0}.meta button,.ammo-title button{background:#17120e;border:1px solid #3e3128;color:var(--faint);font-size:8px;padding:0 11px;cursor:pointer}.layout{display:grid;grid-template-columns:190px minmax(700px,1200px);gap:12px;max-width:1430px;margin:16px auto;padding:0 14px}.case{height:calc(100vh - 112px);min-height:670px;position:sticky;top:96px;background:linear-gradient(145deg,#302319,#120e0b);border:7px ridge #4d3425;padding:12px;box-shadow:inset 0 0 35px #000,8px 12px 30px #000}.case-head{padding-bottom:10px;border-bottom:1px solid #5b4838}.case-head span{display:block;font:600 17px Oswald;letter-spacing:.12em}.case-items{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.case-item{height:75px;background:radial-gradient(#35271d,#17110d);border:1px solid #554233;color:var(--chalk);padding:2px;cursor:grab;position:relative}.case-item.selected{border-color:#db7753;box-shadow:0 0 13px #9c3d25}.case-item img{width:100%;height:52px;object-fit:contain;filter:drop-shadow(3px 5px 4px #000)}.case-item span{position:absolute;left:4px;right:4px;bottom:4px;text-align:center;font-size:6px;letter-spacing:.04em}.shell-source{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:12px;padding-top:10px;border-top:1px solid #5b4838}.shell-source p{grid-column:1/-1;margin:0 0 4px;font:500 10px Oswald;color:var(--faint)}.source-shell{height:70px;background:#16110d;border:1px solid #504033;color:var(--faint);font-size:6px;cursor:grab}.source-shell i,.ammo-slot i,.mini{display:block;width:17px;height:44px;border-radius:7px 7px 3px 3px;background:linear-gradient(90deg,#62513b,#c6a46f 38%,#705b40 70%,#282019);border-top:13px solid var(--live);margin:0 auto 3px;box-shadow:2px 3px 5px #000}.source-shell.blank i,.ammo-slot.blank i,.mini.blank{border-top-color:#a29d8c}.case-help{font-size:6px;line-height:1.5;color:#766857;margin-top:10px}.table-wrap{min-width:0}.table{position:relative;min-height:690px;padding:18px 25px;background:linear-gradient(rgba(45,44,30,.7),rgba(32,31,22,.84)),repeating-linear-gradient(102deg,transparent 0 80px,rgba(255,255,255,.018) 81px 83px),#403d29;border:12px ridge #4b2d20;box-shadow:inset 0 0 55px #0a0806,0 18px 45px #000}.table:before{content:'';position:absolute;inset:10px;border:2px solid rgba(222,207,166,.14);pointer-events:none}.side{position:relative;z-index:2;display:grid;gap:16px;align-items:center}.dealer-side{grid-template-columns:150px 1fr}.player-side{grid-template-columns:1fr 150px}.side-label{height:82px;border:1px solid var(--line);background:rgba(19,17,12,.28);padding:10px;display:flex;justify-content:space-between;align-items:center}.side-label span{display:block;font:600 19px Oswald;letter-spacing:.12em}.hearts{display:flex;flex-direction:column;gap:2px}.hearts button{width:17px;height:13px;border:1px solid #7d604a;background:#271e17;cursor:pointer}.hearts button.on{background:#983b27;box-shadow:0 0 7px #7f281b}.slots{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,78px);gap:7px}.slot{position:relative;border:2px solid var(--line);background:rgba(10,9,6,.14);cursor:pointer;transition:.15s}.slot:after{content:attr(data-num);position:absolute;right:4px;bottom:2px;color:rgba(220,202,158,.22);font:10px Oswald}.slot.dragover{background:rgba(159,61,37,.25);border-color:#bb6b4f}.placed-item{position:absolute;inset:-8px;display:flex;align-items:center;justify-content:center}.placed-item img{width:95%;height:95%;object-fit:contain;filter:drop-shadow(5px 8px 5px #000)}.placed-item small{position:absolute;bottom:1px;left:3px;background:#15100cbb;color:#cfbaa0;font-size:6px;padding:2px 4px}.middle{display:grid;grid-template-columns:1.1fr .8fr 1.1fr;gap:14px;align-items:center;margin:18px 0;min-height:295px;border-top:2px solid rgba(224,207,162,.28);border-bottom:2px solid rgba(224,207,162,.28);padding:14px 0}.ammo-area{align-self:stretch;padding:10px;border:1px solid var(--line);background:rgba(15,13,9,.22)}.ammo-title{display:flex;align-items:center;gap:8px;font:500 10px Oswald;letter-spacing:.1em}.ammo-title b{margin-left:auto;color:var(--rust)}.ammo-title button{padding:5px}.ammo-rack{height:185px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:5px;margin:12px 0}.ammo-slot{border:1px solid rgba(220,203,160,.28);background:rgba(8,7,5,.22);cursor:pointer;display:grid;place-items:center;position:relative}.ammo-slot.dragover{background:rgba(159,61,37,.25)}.ammo-slot i{width:20px;height:56px;border-top-width:16px;margin:0;transform:rotate(-3deg)}.ammo-slot.blank i{transform:rotate(3deg)}.odds{font-size:7px;color:var(--faint)}.odds>div{height:6px;background:#17120e;margin-top:6px;display:flex}.odds i{background:var(--live);height:100%}.odds b{background:#aaa28d;height:100%}.gun-zone{position:relative;height:285px;display:flex;justify-content:center}.shotgun{height:282px;max-width:100%;object-fit:contain;filter:drop-shadow(12px 15px 10px #000);transform:rotate(-5deg)}.known-control,.turn{position:absolute;display:flex;align-items:center;gap:3px}.known-control{left:0;top:0;flex-direction:column}.turn{right:0;bottom:0;flex-direction:column}.known-control small,.turn small{font-size:6px;color:var(--faint)}.known-control button,.turn button{width:48px;height:28px;background:#17130f;border:1px solid #4b3b30;color:var(--faint);font-size:7px;cursor:pointer}.known-control button.active,.turn button.active{border-color:#ae6248;color:#e2cdb5;background:#4b271d}.mini{display:inline-block;width:8px!important;height:20px!important;border-top-width:6px!important;margin:0!important;box-shadow:none!important;vertical-align:middle}.advice{align-self:stretch;border:1px solid var(--line);background:rgba(15,13,9,.34);padding:16px;display:flex;gap:12px;align-items:center}.lamp{width:16px;height:16px;flex:0 0 auto;border-radius:50%;background:#85341f;box-shadow:0 0 14px #ad4229}.advice span{font-size:7px;letter-spacing:.13em;color:#b15a3d}.advice h2{font:600 18px Oswald;line-height:1.12;margin:5px 0;color:#ddd0b1}.advice p{font-size:7px;line-height:1.5;margin:0;color:#91836d}.event-dock{display:flex;gap:5px;align-items:center;padding:9px;background:#100d0a;border:1px solid #3f3026;overflow-x:auto}.event-dock>span{font-size:7px;color:#8d7b65;margin-right:5px;white-space:nowrap}.event-dock button{height:37px;white-space:nowrap;background:#1b1510;border:1px solid #49372b;color:#b7a98d;font-size:7px;padding:5px 9px;cursor:pointer}.event-dock button:hover{border-color:#9e5138}.selection-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,30px);opacity:0;z-index:60;background:#8f3824;color:#f3dfca;padding:8px 14px;font-size:8px;transition:.2s}.selection-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){.layout{grid-template-columns:1fr;padding:0 8px}.case{height:auto;min-height:0;position:static}.case-items{grid-template-columns:repeat(9,80px);overflow-x:auto}.case-item{height:76px}.shell-source{grid-template-columns:85px 85px;display:flex;align-items:center}.shell-source p{margin-right:10px}.source-shell{width:75px}.table{min-width:730px}.table-wrap{overflow-x:auto}.topbar{height:auto;align-items:flex-start}.meta{flex-wrap:wrap}.layout{margin-top:8px}}
@media(max-width:650px){.topbar{padding:10px;display:block}.topbar h1{font-size:22px}.meta{margin-top:8px}.meta label{flex:1}.layout{display:block}.case-help{display:block}.table-wrap{margin-top:8px}.event-dock{position:sticky;bottom:0;z-index:10}.case-items{grid-template-columns:repeat(9,72px)}.case-item{height:68px}.case-item img{height:46px}}

/* Игровая компоновка: четыре слота слева и четыре справа */
.case-item span{left:3px;right:3px;bottom:3px;font:700 9px Oswald;letter-spacing:.07em;color:#f2dfc0;background:rgba(12,8,5,.86);padding:3px 2px;text-shadow:1px 1px 2px #000}
.side{position:relative;z-index:2;display:block;min-height:174px}
.dealer-side,.player-side{display:block}
.side-label{position:absolute;z-index:4;left:calc(50% - 63px);top:0;width:126px;height:100%;padding:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:rgba(19,17,12,.58)}
.side-label small{margin:3px 0 9px}.hearts{flex-direction:row;gap:3px}.hearts button{width:16px;height:18px}
.slots{height:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 126px repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,82px);gap:7px}
.slot:nth-child(5){grid-column:6}
.placed-item small{left:4px;right:4px;bottom:4px;background:rgba(12,8,5,.88);color:#f2dfc0;font:700 9px Oswald;letter-spacing:.07em;text-align:center;padding:4px 2px;text-shadow:1px 1px 2px #000}
.middle{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:210px auto;grid-template-areas:'gun ammo' 'advice ammo';gap:12px;align-items:stretch;margin:14px 0;min-height:310px;padding:12px 0}
.ammo-area{grid-area:ammo;padding:12px;background:rgba(15,13,9,.36)}
.ammo-rack{height:238px;margin:14px 0;gap:6px}
.gun-zone{grid-area:gun;height:210px;align-items:center;overflow:hidden}
.shotgun{width:500px;height:500px;max-width:none;transform:rotate(86deg)}
.advice{grid-area:advice;padding:12px 16px}
.advice p{font-size:9px}.advice span{font-size:8px}
@media(max-width:1000px){.table{min-width:900px}.middle{grid-template-columns:minmax(0,1fr) 300px}}

/* Персональные кейсы и поля 2x2 + 2x2 */
.layout{grid-template-columns:190px minmax(760px,1200px)}
.action-case{height:max-content;position:sticky;top:96px;background:linear-gradient(145deg,#302319,#120e0b);border:7px ridge #4d3425;padding:12px;box-shadow:inset 0 0 35px #000,8px 12px 30px #000}
.action-case .event-dock{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px;padding:0;background:transparent;border:0;overflow:visible}
.action-case .event-dock button{height:78px;white-space:normal;padding:8px 3px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;background:radial-gradient(#312319,#15100c);font-size:9px}
.action-case .event-dock button span{font:700 10px Oswald;color:#e1cdae;letter-spacing:.05em}.action-case .event-dock button small{font-size:7px;color:#9a806a}.action-case .event-dock button b{font-size:20px;color:#b75a3d}
.personal-case{position:relative;z-index:3;display:grid;grid-template-columns:135px 1fr;gap:9px;align-items:center;margin-bottom:12px;padding:8px;border:1px solid rgba(221,204,163,.26);background:linear-gradient(90deg,rgba(30,22,16,.72),rgba(17,14,10,.42))}
.player-case{margin:12px 0 0}.personal-case-title span{display:block;font:600 13px Oswald;letter-spacing:.1em}.personal-case-title small{display:block;margin-top:4px;font-size:6px;line-height:1.4;color:#985239}.personal-case .case-items{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;margin:0;overflow:visible}
.personal-case .case-item{height:65px;min-width:0}.personal-case .case-item img{height:52px}.personal-case .case-item span{font-size:7px;padding:2px 1px}
.side{min-height:205px}.slots{grid-template-columns:repeat(2,minmax(0,1fr)) 150px repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,98px);gap:7px}.slot:nth-child(1){grid-column:1;grid-row:1}.slot:nth-child(2){grid-column:2;grid-row:1}.slot:nth-child(3){grid-column:1;grid-row:2}.slot:nth-child(4){grid-column:2;grid-row:2}.slot:nth-child(5){grid-column:4;grid-row:1}.slot:nth-child(6){grid-column:5;grid-row:1}.slot:nth-child(7){grid-column:4;grid-row:2}.slot:nth-child(8){grid-column:5;grid-row:2}.side-label{left:calc(50% - 75px);width:150px}.placed-item img{width:90%;height:90%}
.ammo-slot{font:inherit;color:var(--faint);padding:2px}.ammo-slot b{font:400 24px Oswald;color:rgba(221,204,163,.32)}.ammo-slot small{position:absolute;left:2px;right:2px;bottom:3px;text-align:center;font:600 7px Oswald;letter-spacing:.04em;color:#887b66}.ammo-slot.live small{color:#c66548}.ammo-slot.blank small{color:#c9bea4}.ammo-slot.empty:hover{background:rgba(159,61,37,.12)}
@media(max-width:1000px){.layout{grid-template-columns:1fr}.action-case{position:static}.action-case .event-dock{grid-template-columns:repeat(6,1fr)}.action-case .event-dock button{height:62px}.personal-case .case-items{grid-template-columns:repeat(9,76px);overflow-x:auto}.table{min-width:900px}}

/* Жизни-молнии и интерактивный выбор патронов */
.side-label small{font-size:8px;letter-spacing:.16em;color:#b1593c}.hearts{height:36px;align-items:center;gap:1px}.hearts button{width:19px;height:32px;border:0;background:#30251c;clip-path:polygon(48% 0,100% 0,67% 39%,94% 39%,24% 100%,40% 54%,10% 54%);filter:drop-shadow(0 0 1px #79604c)}.hearts button.on{background:#be4e30;box-shadow:none;filter:drop-shadow(0 0 5px #8e2d1c)}
.shotgun{width:570px;height:220px;transform:none;object-fit:contain}
.ammo-slot{position:relative;overflow:hidden}.ammo-slot>img{width:78%;height:78%;object-fit:contain;filter:drop-shadow(3px 5px 4px #000)}.ammo-slot>small{z-index:2;background:rgba(12,8,5,.8);padding:2px}.empty-label{font:600 8px Oswald;color:#6f6554;letter-spacing:.08em}.ammo-choices{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;opacity:0;transform:scale(.96);transition:.14s;background:rgba(15,11,8,.94)}.ammo-slot.empty:hover .ammo-choices,.ammo-slot.empty:focus-within .ammo-choices{opacity:1;transform:scale(1)}.ammo-choices button{position:relative;min-width:0;padding:3px 1px;background:transparent;border:0;color:#c8b99b;cursor:pointer}.ammo-choices button+button{border-left:1px solid #524034}.ammo-choices button:hover{background:rgba(154,57,35,.28)}.ammo-choices img{width:100%;height:68%;object-fit:contain;filter:drop-shadow(2px 3px 2px #000)}.ammo-choices b{position:absolute;left:1px;right:1px;bottom:4px;font:600 6px Oswald}.choose-live b{color:#d66d4c}.choose-blank b{color:#d7cdb5}.remove-shell{position:absolute;inset:0;display:grid;place-items:center;background:rgba(85,25,15,.82);color:#f3d7c7;font:700 9px Oswald;letter-spacing:.06em;opacity:0;transition:.14s}.ammo-slot:not(.empty):hover .remove-shell{opacity:1}.ammo-slot:not(.empty){cursor:pointer}.ammo-slot:not(.empty):hover{border-color:#a9563b;box-shadow:inset 0 0 15px rgba(160,53,31,.3)}
.mini{width:17px!important;height:30px!important;border:0!important;border-radius:0!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;box-shadow:none!important}.mini.live{background-image:url('assets/shell-live.png')!important}.mini.blank{background-image:url('assets/shell-blank.png')!important}

/* Вертикальный выбор патрона и выбрасывание предметов */
.ammo-choices{grid-template-columns:1fr;grid-template-rows:1fr 1fr}
.ammo-choices button+button{border-left:0;border-top:1px solid #524034}
.ammo-choices img{position:absolute;left:7px;top:3px;width:26px;height:calc(100% - 6px);object-fit:contain}
.ammo-choices b{left:34px;right:2px;top:50%;bottom:auto;transform:translateY(-50%);font-size:7px}
.placed-item{cursor:grab}.placed-item:active{cursor:grabbing}
.dragging-placed .action-case,.dragging-placed .personal-case,.dragging-placed .middle{outline:1px dashed rgba(207,89,54,.52);box-shadow:inset 0 0 22px rgba(130,39,22,.16)}
.dragging-placed .slot{outline:0;box-shadow:none}

/* Экран открытого затвора */
.known-control{left:0;top:0;width:184px;display:block;padding:5px;background:linear-gradient(145deg,#33271f,#100d0a);border:2px ridge #594337;box-shadow:5px 8px 14px rgba(0,0,0,.58)}
.known-control>small{display:block;margin:0 0 4px;font:600 7px Oswald;letter-spacing:.13em;color:#b9a78a}
.known-control .chamber-screen{position:relative;display:block;width:170px;height:96px;padding:0;overflow:hidden;border:1px solid #73503c;background:#080705;cursor:pointer;box-shadow:inset 0 0 12px #000}
.chamber-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.15) saturate(.72) brightness(.72)}
.chamber-screen:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px),radial-gradient(circle,transparent 35%,rgba(0,0,0,.42));z-index:4}
.chamber-shell{position:absolute;z-index:3;left:61%;top:48%;width:38px;height:78px;object-fit:contain;transform:translate(-50%,-50%) rotate(78deg);filter:drop-shadow(2px 4px 3px #000)}
#chamberUnknown{position:absolute;z-index:3;left:61%;top:47%;transform:translate(-50%,-50%);width:45px;height:45px;display:grid;place-items:center;border:1px solid rgba(213,188,148,.55);border-radius:50%;background:rgba(8,7,5,.7);color:#e4d2b2;font:600 28px Oswald;text-shadow:0 0 8px #000}
#chamberUnknown[hidden],.chamber-shell[hidden]{display:none}
.chamber-options{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:4px}.known-control .chamber-options button{width:auto;height:26px;padding:2px;background:#15110e;border:1px solid #49372d}.known-control .chamber-options button.active{border-color:#b25d41;background:#51281e;color:#f1ddc3}.known-control .chamber-options .mini{height:20px!important}

/* Крупный патронник на основе пользовательского кадра */
.known-control{width:224px}.known-control .chamber-screen{width:210px;height:118px}.chamber-bg{filter:contrast(1.12) saturate(.8) brightness(.7)}
.chamber-shell{left:43%;top:56%;width:72px;height:130px;transform:translate(-50%,-50%) rotate(55deg);filter:drop-shadow(4px 6px 5px #000) brightness(1.16)}
#chamberUnknown{left:43%;top:55%;width:54px;height:54px;font-size:33px}
#chamberStateLabel{position:absolute;z-index:5;right:5px;bottom:5px;padding:3px 6px;background:rgba(10,7,5,.88);border-left:2px solid #a54d33;color:#ecd8b9;font:700 8px Oswald;letter-spacing:.08em}
.chamber-screen[data-state="live"] #chamberStateLabel{color:#f07a58}.chamber-screen[data-state="blank"] #chamberStateLabel{color:#eee5d0}

/* Приветственный экран */
body.welcome-open{overflow:hidden}.welcome{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:auto;padding:28px 18px;background:radial-gradient(circle at 50% 34%,#2b1d16 0,transparent 46%),#080706;transition:opacity .4s ease,transform .4s ease}.welcome.leaving{opacity:0;transform:scale(1.025);pointer-events:none}.welcome-inner{width:min(920px,100%);text-align:center}.welcome-top>span{font:600 13px 'Roboto Mono';letter-spacing:.2em;color:#b95536}.welcome-top h1{margin:10px 0 7px;font:600 clamp(40px,5.4vw,64px) Oswald;letter-spacing:.045em;color:#e0d2b6;text-shadow:3px 4px 0 #000}.welcome-top p{margin:0 0 18px;font-size:12px;line-height:1.5;letter-spacing:.06em;color:#a0937d}.welcome-image{position:relative;border:1px solid #5c4031;background:#120d0a;box-shadow:0 24px 60px #000;overflow:hidden}.welcome-image:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 70px 22px #090706;pointer-events:none}.welcome-image img{display:block;width:100%;max-height:50vh;object-fit:cover;filter:contrast(1.08) saturate(.82) brightness(.86)}.welcome-bottom{max-width:760px;margin:20px auto 0}.welcome-bottom>p{margin:0;color:#c2b39a;font-size:15px;line-height:1.6}.welcome-bottom small{display:block;margin:9px 0 19px;color:#978975;font-size:11px;letter-spacing:.06em}.welcome-bottom button{min-width:270px;padding:16px 28px;border:1px solid #c06444;background:linear-gradient(#9e422b,#642518);color:#f2dfc8;font:600 16px Oswald;letter-spacing:.13em;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.12),0 8px 22px #000}.welcome-bottom button:hover{filter:brightness(1.18);transform:translateY(-1px)}.welcome-bottom button b{margin-left:16px;font-size:21px}@media(max-width:650px){.welcome{padding:20px 12px}.welcome-image img{max-height:40vh}.welcome-bottom>p{font-size:13px}.welcome-top>span{font-size:10px}.welcome-top p{font-size:11px}.welcome-top h1{font-size:38px}.welcome-bottom button{font-size:15px}}

/* Пошаговый сценарий: этап 1 — предметы */
.action-case{min-height:430px}.step-panel{padding:18px 3px 4px}.step-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:17px;border:1px solid #9d4c34;background:#3c2119;color:#dfb09c;font:600 19px Oswald;transform:rotate(-3deg)}.step-panel>span{font:600 9px 'Roboto Mono';letter-spacing:.13em;color:#b95a3d}.step-panel h2{margin:8px 0 11px;color:#ebd9bb;font:600 25px Oswald;letter-spacing:.04em;line-height:1.05}.step-panel>p{margin:0;color:#b3a38b;font-size:10px;line-height:1.65}.step-rule{display:flex;gap:8px;margin:19px 0;padding:10px;border:1px solid #4b382c;background:rgba(15,11,8,.55)}.step-rule i{flex:0 0 19px;height:19px;display:grid;place-items:center;border:1px solid #8d452f;color:#cb6445;font:600 11px Oswald}.step-rule p{margin:0;color:#82735f;font-size:7px;line-height:1.5}.step-confirm{width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #b55a3d;background:linear-gradient(#93402a,#602417);color:#f1ddc5;cursor:pointer;font:600 11px Oswald;letter-spacing:.1em}.step-confirm b{width:22px;height:22px;display:grid;place-items:center;border:1px solid #e0ab91;font-size:14px}.step-confirm:hover{filter:brightness(1.15)}.step-confirm:disabled{background:#1b1612;border-color:#43362d;color:#796d5c;cursor:default;filter:none}.locked-stage{position:relative}.locked-stage>*{filter:brightness(.25) grayscale(.7);opacity:.38;pointer-events:none}.locked-stage:after{content:'СЛЕДУЮЩИЙ ЭТАП';position:absolute;z-index:10;inset:0;display:grid;place-items:center;background:rgba(7,6,5,.3);color:rgba(199,181,150,.46);font:600 12px Oswald;letter-spacing:.22em;pointer-events:none}.items-stage .personal-case,.items-stage .side{border-color:rgba(203,102,70,.65);box-shadow:0 0 0 1px rgba(188,78,47,.2),0 0 22px rgba(139,44,25,.13)}.items-stage .personal-case-title span,.items-stage .side-label span{color:#f0d9ba}.items-stage .case-item:hover,.items-stage .slot:hover{border-color:#c46647;background-color:rgba(134,48,28,.18)}

/* Первый шаг — весь экран доступен и собирается как единое состояние раунда. */
.layout{grid-template-columns:290px minmax(760px,1200px);max-width:1540px}
.action-case{min-height:570px;padding:18px}.action-case .case-head span{font-size:22px}.action-case .case-head small{font-size:10px;line-height:1.45}.step-panel{padding:22px 2px 5px}.step-icon{width:58px;height:58px;margin-bottom:20px;font-size:25px}.step-panel>span{font-size:12px}.step-panel h2{font-size:34px;margin:10px 0 14px}.step-panel>p{font-size:13px;line-height:1.6}.setup-checklist{display:grid;gap:8px;margin:20px 0}.setup-checklist>div{min-height:48px;display:grid;grid-template-columns:27px 1fr 22px;gap:9px;align-items:center;padding:8px;border:1px solid #49372b;background:rgba(12,9,7,.48);color:#95856e;transition:.2s}.setup-checklist b,.setup-checklist i{height:25px;display:grid;place-items:center;border:1px solid #5c4537;font:600 12px Oswald;font-style:normal}.setup-checklist span{font-size:10px;line-height:1.35}.setup-checklist>div.done{border-color:#8e563e;color:#dbc4a7;background:rgba(98,42,27,.25)}.setup-checklist>div.done i{border-color:#bd684a;color:#efc2a9}.step-rule{margin:18px 0;padding:12px}.step-rule i{flex-basis:24px;height:24px;font-size:14px}.step-rule p{font-size:10px;line-height:1.5}.step-confirm{min-height:62px;font-size:14px}.step-confirm b{width:27px;height:27px;font-size:17px}.setup-stage .personal-case,.setup-stage .side,.setup-stage .ammo-area{border-color:rgba(203,102,70,.56);box-shadow:0 0 0 1px rgba(188,78,47,.14),0 0 18px rgba(139,44,25,.1)}.setup-stage .case-item:hover,.setup-stage .slot:hover,.setup-stage .ammo-slot:hover{border-color:#c46647;background-color:rgba(134,48,28,.18)}
.hearts button{cursor:pointer;transition:background .12s,filter .12s}.hearts button:hover,.hearts button:has(~ button:hover){background:#d0613f;filter:drop-shadow(0 0 6px #a33721)}
@media(max-width:1000px){.layout{grid-template-columns:1fr}.action-case{min-height:0}}

/* Читаемая типографика игрового стола */
.topbar span,.case-head small,.side-label small{font-size:10px}.topbar h1{font-size:32px}.meta label{font-size:10px}.meta input,.meta select{font-size:18px}.meta button,.ammo-title button{font-size:11px}.personal-case-title span{font-size:17px}.personal-case-title small{font-size:9px}.personal-case .case-item span,.case-item span{font-size:10px}.side-label span{font-size:24px}.side-label small{font-size:10px}.placed-item small{font-size:10px}.ammo-title{font-size:14px}.ammo-slot small{font-size:10px}.empty-label{font-size:11px}.ammo-choices b{font-size:9px}.odds{font-size:10px}.known-control>small,.turn small{font-size:10px}.known-control .chamber-options button,.turn button{font-size:10px}.known-control .chamber-options button{height:30px}.turn button{width:60px;height:34px}.chamberStateLabel,#chamberStateLabel{font-size:11px}.remove-shell{font-size:11px}.selection-toast{font-size:11px}.slot:after{font-size:13px}
.step-confirm{position:relative}.step-confirm span{transform:translateX(0);transition:transform .16s ease}.step-confirm b{position:absolute;left:calc(50% - 92px);color:transparent;opacity:1;transform:scale(1);transition:color .14s,transform .16s ease}.step-confirm:hover span{transform:translateX(18px)}.step-confirm:hover b{color:inherit;transform:scale(1)}

/* Интерактивные предметы и знания о раздаче */
.action-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.action-controls[hidden]{display:none}.action-controls label{grid-column:1/-1;display:grid;gap:7px;color:#a99579;font-size:11px}.action-controls select{height:38px;background:#17120e;border:1px solid #654434;color:#ead8bb;font:600 15px Oswald;padding:0 9px}.action-controls button{min-height:52px;border:1px solid #9d5138;background:linear-gradient(#552a20,#251711);color:#ead5b9;font:600 13px Oswald;cursor:pointer}.action-controls button:hover{background:#7a3525}.slot:has(.placed-item){cursor:pointer}.slot:has(.placed-item):hover{border-color:#cb6848;box-shadow:inset 0 0 18px rgba(170,53,31,.3)}.slot.steal-target{animation:stealPulse .8s infinite alternate;border-color:#e87550}@keyframes stealPulse{to{box-shadow:0 0 20px #a9432b;background:rgba(139,48,28,.28)}}.side-label.cuffed:before{content:attr(data-cuffed);position:absolute;top:8px;font-size:25px;color:#d0b798;filter:drop-shadow(0 0 6px #a84c32)}.shotgun.sawed{clip-path:polygon(0 0,72% 0,72% 100%,0 100%);transform:translateX(-8%) rotate(-5deg)}.gun-zone:has(.shotgun.sawed):after{content:'';position:absolute;right:4%;top:36%;width:25%;height:17px;background:linear-gradient(#241b16,#0a0908);border:1px solid #604234;transform:rotate(-5deg);box-shadow:5px 8px 7px #000}.uncertain-rack{outline:2px solid #9a4a31;box-shadow:inset 0 0 30px rgba(80,21,13,.5)}.uncertain-shell{background:repeating-linear-gradient(135deg,#19130f 0 8px,#2e2119 8px 16px)}.mystery-shell{font:700 27px Oswald;color:#c36a4d}.knowledge-queue{margin-top:12px;padding-top:10px;border-top:1px solid #564236}.knowledge-queue>span{font:600 10px Oswald;letter-spacing:.1em;color:#a48f72}.knowledge-queue>div{display:flex;gap:4px;margin-top:7px}.knowledge-queue i{width:28px;height:32px;display:grid;place-items:center;border:1px solid #5b4939;background:#17130f;color:#8a7d68;font:700 13px Oswald;font-style:normal}.knowledge-queue i.live{background:#6e2d20;color:#ffd8c2}.knowledge-queue i.blank{background:#807966;color:#181512}
