@font-face{font-family:Montserrat;src:url('/font-regular.ttf');font-display:swap}
:root{font-family:Montserrat,Arial,sans-serif;--ink:#202323;--dark:#191c1d;--paper:#fbfaf6;--faint:#efefeb;--line:#c9ccca;--red:#c9413c;--red-deep:#a92b28;--muted:#727a78;color:#f1f0e8;background:#222727}
html{scroll-behavior:auto}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% -18%,#682d2b50,transparent 45%),#232727}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--red);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:normal}h1{font-size:3rem;line-height:1.1}h2{font-size:1.7rem}p{line-height:1.55}.masthead{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1500px)/2));background:#131617;border-bottom:1px solid #393d3d}.brand{display:flex;align-items:center;gap:15px}.brand small{display:block;letter-spacing:.28em;font-size:.57rem;color:#ef7167;font-weight:800}.brand strong{display:block;font-family:Georgia,serif;font-size:1.5rem;font-weight:normal;color:#f5f3eb}.brand em{color:#e7786d}.sigil{font-size:2rem;color:#d65049;line-height:1}.account-name{font-size:.82rem;color:#c9cfcc}.header-link{background:none;border:0;color:#e7786d;font-size:.78rem;margin-left:18px}.header-link:hover,.text-link:hover{text-decoration:underline}main{max-width:1540px;margin:auto;padding:26px 20px 90px}.loading{padding:70px;text-align:center;color:#ddd}.kicker{font-size:.67rem;font-weight:800;letter-spacing:.23em}.kicker.red{color:var(--red)}.primary,.secondary{display:inline-flex;gap:25px;align-items:center;justify-content:space-between;border:1px solid var(--red);background:var(--red);color:#fff;padding:13px 19px;font-weight:800;font-size:.81rem;text-align:left;min-height:44px}.primary:hover{background:var(--red-deep)}.primary span,.secondary span{font-size:1.2rem}.secondary{background:transparent;color:var(--ink);border-color:var(--ink)}.secondary:hover{background:#e8e8e2}.small{padding:8px 12px;min-height:34px;font-size:.72rem}.text-link{border:0;background:none;padding:8px 0;color:inherit;font-size:.75rem;text-align:left}.blank-page{padding:30px;border:1px dashed #b4b9b5;color:var(--muted);font-size:.82rem}.divider{font-size:.7rem;color:#87908d;letter-spacing:.18em;text-align:center;margin:15px 0}

/* Entry and campaign shelf */
.entry-stage{max-width:1060px;margin:55px auto;display:grid;grid-template-columns:1.08fr .92fr;min-height:540px;box-shadow:0 26px 70px #0005}.entry-cover{position:relative;overflow:hidden;background:linear-gradient(130deg,#121516,#28302e);padding:60px 55px;display:flex;flex-direction:column;justify-content:center;border-top:4px solid var(--red)}.entry-cover::after{content:"";position:absolute;inset:auto -70px -100px auto;width:390px;height:390px;border:2px solid #b8494340;border-radius:50%;box-shadow:0 0 0 45px #b8494310,0 0 0 90px #b8494308}.entry-cover .kicker{color:#ee8277}.entry-cover h1{font-size:3.5rem;max-width:410px;margin:22px 0}.entry-cover p{color:#bfc7c4;max-width:330px;font-size:.92rem}.cover-mark{position:absolute;right:25px;bottom:5px;font-size:17rem;color:#c8464020}.entry-paper{background:var(--paper);color:var(--ink);padding:58px 52px}.entry-paper h2{font-size:2.2rem;margin:14px 0}.entry-paper>p{color:#656c69;font-size:.86rem}.auth-form{display:grid;gap:18px;margin:30px 0 12px}.auth-field{display:grid;gap:8px;color:#59615e;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.auth-field input{border:0;border-bottom:1px solid #6f7773;background:transparent;padding:10px 0;color:var(--ink);font-size:1rem;text-transform:none;letter-spacing:normal}.auth-field input:focus{outline:0;border-bottom:2px solid var(--red)}.auth-form button{margin-top:7px}.lobby-head{margin:30px 0;color:#f5f2e9}.lobby-head h1{margin:10px 0}.lobby-head p{color:#aeb6b1}.lobby-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr);gap:20px}.campaign-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:16px}.campaign-cover{min-height:220px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:25px;text-align:left;border:1px solid #646d69;border-top:4px solid var(--red);background:linear-gradient(145deg,#101314,#2c3130);color:#f6f5ec}.campaign-cover:hover{border-color:#e47066;transform:translateY(-2px)}.campaign-cover strong{font-family:Georgia,serif;font-size:1.9rem;font-weight:normal}.campaign-cover span:last-child{font-size:.76rem;color:#c3cbc6;width:100%;display:flex;justify-content:space-between}.campaign-number{color:#e98578;font-size:.65rem;letter-spacing:.19em}.new-campaign{background:var(--paper);color:var(--ink);padding:35px;display:flex;flex-direction:column}.new-campaign h2{margin:13px 0}.new-campaign p{font-size:.83rem;color:var(--muted)}.new-campaign .auth-field{margin:20px 0}.invite-strip{background:#efe5d7;color:#3b3730;padding:15px 20px;display:flex;gap:20px;align-items:center;justify-content:space-between;margin:0 0 15px;border-left:4px solid var(--red)}.invite-strip div{min-width:0;flex:1}.invite-strip strong,.invite-strip span{display:block}.invite-strip strong{font-size:.86rem}.invite-strip span{font-size:.74rem;color:#6c645a;margin-top:3px}.invite-strip input{width:100%;margin-top:9px;border:1px solid #a3a097;background:white;color:#25282a;padding:7px;font-size:.75rem}

/* Campaign frame */
.campaign-top{display:flex;align-items:center;gap:20px;color:#dce1dd;padding:8px 0 20px}.campaign-name{font-family:Georgia,serif;font-size:1.2rem;padding-left:18px;border-left:1px solid #65706d}.session-count{color:#a9b3ae;font-size:.71rem;margin-left:auto}.invite-button{background:transparent;border:1px solid #b96962;color:#efaaa0;padding:9px 14px;font-size:.75rem}.invite-button:hover{background:#b9696222}.section-nav{display:flex;border-bottom:1px solid #676e6b;margin-bottom:18px;gap:8px}.nav-tab{padding:13px 25px;border:0;border-bottom:3px solid transparent;background:none;color:#b0bbb5;font-size:.79rem;font-weight:800}.nav-tab:hover{color:white}.nav-tab.active{border-color:var(--red);color:white}.sheet-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 13px;color:#abb4ae;font-size:.71rem}.sheet-actions .text-link{color:#e4ede8}.game-sheet{background:var(--paper);color:var(--ink);box-shadow:0 25px 65px #0005}.sheet-banner{height:150px;position:relative;display:flex;align-items:center;justify-content:space-between;overflow:hidden;padding:20px 34px;background:#0f1112;color:#fff;border-bottom:4px solid var(--red)}.class-pattern{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.27;pointer-events:none}.sheet-banner>div{position:relative;z-index:1;min-width:0;flex:1}.banner-kicker{display:block;font-size:.6rem;letter-spacing:.23em;color:#f4a39a;font-weight:800;margin-bottom:10px}.hero-name{font-family:Georgia,serif;font-size:2.8rem;background:transparent;color:#fff;border:0;border-bottom:1px solid #ffffff4d;padding:1px 0 5px;display:block;width:min(600px,94%);min-width:0}.hero-name::placeholder{color:#ffffff95}.hero-name:focus{outline:0;border-bottom-color:#f3a197}.hero-meta{display:block;color:#c5cbc6;font-size:.72rem;margin-top:8px}.banner-seal{position:relative;font-size:3rem;color:#f1786d;z-index:1;padding:0 25px}.sheet-columns{display:grid;grid-template-columns:26% 42% 32%}.sheet-col{min-width:0;border-right:1px solid #d3d7d4}.sheet-col:last-child{border-right:0}.sheet-section{padding:18px 20px 21px;border-bottom:1px solid #e0e2df}.sheet-section:last-child{border-bottom:0}.sheet-bar{min-height:28px;margin:0 0 15px;padding:7px 13px 6px 12px;background:#e9eae7;border-left:4px solid var(--red);clip-path:polygon(0 0,calc(100% - 13px) 0,100% 100%,0 100%);display:flex;justify-content:space-between;align-items:center;gap:8px;text-transform:uppercase;font-size:.65rem;font-weight:900;letter-spacing:.065em}.sheet-bar small{font-size:.54rem;color:#7d8580;letter-spacing:.08em;white-space:nowrap}.sheet-prompt{font-size:.75rem;color:#4b5350;line-height:1.5;margin:0 4px}.ruled-field{display:grid;grid-template-columns:105px minmax(0,1fr);gap:7px;align-items:start;border-bottom:1px solid #bfc6c1;min-height:39px;padding:8px 2px}.ruled-field>span{font-size:.65rem;font-weight:800;color:#3d4541;padding-top:5px}.ruled-field input,.ruled-field textarea,.wound-row input,.trauma-row input{background:transparent;border:0;outline:0;color:var(--ink);width:100%;font-size:.76rem;padding:3px 0;resize:vertical;line-height:1.45}.ruled-field textarea{min-height:42px}.ruled-field input:focus,.ruled-field textarea:focus,.wound-row input:focus,.trauma-row input:focus{box-shadow:inset 0 -2px var(--red)}.ruled-field ::placeholder,.wound-row ::placeholder,.trauma-row ::placeholder{color:#a0a8a3}.ruled-field:focus-within{border-bottom-color:var(--red)}.subheading{display:flex;justify-content:space-between;margin:17px 0 5px;color:#3f4743;font-size:.62rem;font-weight:900;letter-spacing:.09em}.subheading span{color:var(--muted)}.trauma-row,.wound-row{display:flex;gap:9px;align-items:center;border-bottom:1px solid #d2d7d2;padding:5px 0}.trauma-row span{display:grid;place-items:center;width:17px;height:17px;border:1px solid #9fa8a1;transform:rotate(45deg);font-size:.52rem}.trauma-row input{padding-left:8px}.wound-row span{min-width:50px;font-size:.67rem;font-weight:800}.defense-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.defense{border:1px solid #c0c5c0;padding:7px 8px;background:transparent;color:var(--ink);font-size:.64rem;font-weight:800;display:flex;align-items:center;gap:7px}.defense.marked{border-color:var(--red);color:var(--red-deep);background:#f5e5e2}.defense .talent-check{width:10px;height:10px}.track-line{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:10px 0}.track-line>div{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.track-line strong{font-size:.7rem}.track-line small{font-size:.56rem;color:var(--muted)}.pips{display:inline-flex;flex-wrap:wrap;gap:1px;justify-content:flex-end}.pip{width:22px;height:24px;border:0;background:transparent;padding:4px;display:grid;place-items:center}.pip::before{content:"";display:block;width:12px;height:12px;border:1.5px solid #4b5651;background:#fff}.pips.diamond .pip::before{transform:rotate(45deg);width:10px;height:10px}.pip.filled::before{background:var(--red);border-color:var(--red-deep)}.pip.base::before{background:#232929;border-color:#232929}.pip:hover:not(:disabled)::before{border-color:var(--red);box-shadow:0 0 0 2px #d64a4935}.pip:disabled{opacity:.65}.talent-record{display:flex;gap:9px;border-bottom:1px solid #d9ddda;padding:12px 2px}.talent-record:last-of-type{border:0}.talent-record strong{display:block;text-transform:uppercase;font-size:.67rem;letter-spacing:.04em}.talent-record p{font-size:.64rem;line-height:1.52;color:#67706a;margin:5px 0 0}.talent-record.owned strong{color:var(--red-deep)}.talent-check{flex:0 0 13px;width:13px;height:13px;transform:rotate(45deg);border:1.5px solid #58615b;background:white;margin:4px 2px 0}.talent-record.owned .talent-check,.defense.marked .talent-check{background:var(--red);border-color:var(--red)}.talent-record .talent-check{cursor:pointer}.custom-talent{margin-top:12px}.load-choices{display:flex;align-items:stretch;gap:6px;margin:2px 0 17px}.load-choices>span{margin-right:auto;font-size:.66rem;font-weight:800;padding-top:12px}.load-choice{min-width:64px;display:grid;place-items:center;gap:2px;border:1px solid #b9bfba;background:transparent;padding:6px 8px;color:var(--ink)}.load-choice.selected{border-color:var(--red);background:#f6e5e2}.load-choice strong{font-family:Georgia,serif;font-size:1.2rem}.load-choice small{font-size:.55rem}.action-column{margin:0 0 14px}.action-column .sheet-bar{margin-bottom:5px}.action-record{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:35px;border-bottom:1px solid #e2e5e1;padding:1px 0}.action-name{display:flex;justify-content:space-between;align-items:center;gap:5px;flex:1;text-align:left;border:0;background:transparent;color:var(--ink);font-size:.71rem;padding:4px 0}.action-name:hover{color:var(--red-deep)}.action-name span{color:var(--red);font-size:.96rem;opacity:.55}.action-name:hover span{opacity:1}.stepper{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #d7dbd7;min-height:40px;font-size:.72rem}.stepper-controls{display:flex;align-items:center;gap:3px}.stepper-controls button{width:25px;height:25px;border:1px solid #b2b9b3;background:transparent;color:var(--ink);padding:0;font-size:1rem}.stepper-controls button:hover:not(:disabled){border-color:var(--red);color:var(--red)}.stepper-controls strong{min-width:25px;text-align:center;font-family:Georgia,serif;font-size:1.13rem}.micro-note{font-size:.61rem;color:var(--muted);margin:10px 0 0}.sheet-footer{display:flex;justify-content:space-between;background:#191b1c;color:#c0c6c1;padding:12px 28px;font-size:.54rem;letter-spacing:.14em}

/* Character creation, still on a sheet */
.creation-sheet .sheet-banner{height:132px}.creation-intro{padding:28px 32px 24px;border-bottom:1px solid #d3d8d3}.creation-intro h2,.section-caption h2{margin:7px 0}.creation-intro p,.section-caption p{font-size:.76rem;color:#66706a;margin:0 0 15px}.class-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:19px}.class-choice{position:relative;overflow:hidden;min-height:75px;border:1px solid #656d67;background:#111414;color:white;padding:7px;text-align:left;display:flex;align-items:flex-end}.class-choice img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}.class-choice span{position:relative;font-size:.64rem;font-weight:800;word-break:break-word}.class-choice.selected{border:3px solid var(--red)}.creation-body{display:grid;grid-template-columns:1fr 1fr}.creation-actions,.creation-talents{padding:27px 30px}.creation-actions{border-right:1px solid #d5dad6}.creation-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.creation-action-grid .action-record{min-height:38px;font-size:.66rem}.creation-action-grid .pips{flex-wrap:nowrap}.creation-action-grid .pip{width:19px}.point-counter{display:inline-flex;align-items:baseline;gap:9px;border:1px solid #babfba;padding:8px 14px;font-family:Georgia,serif;font-size:1.4rem;margin-top:20px}.point-counter.complete{border-color:var(--red);color:var(--red-deep)}.point-counter span{font-family:Montserrat,Arial,sans-serif;font-size:.65rem}.talent-choices{display:grid;gap:6px}.choice-talent{display:flex;gap:12px;text-align:left;border:1px solid #d0d5d0;background:#fff;padding:11px;color:var(--ink)}.choice-talent.chosen{background:#f9edeb;border-color:var(--red)}.choice-mark{flex:0 0 12px;width:12px;height:12px;transform:rotate(45deg);border:1px solid #7d8780;margin:4px}.choice-talent.chosen .choice-mark{background:var(--red);border-color:var(--red)}.choice-talent strong{display:block;font-size:.69rem;text-transform:uppercase}.choice-talent small{display:block;color:#68716a;font-size:.59rem;line-height:1.45;margin-top:4px}.creation-metals{margin-top:20px}.creation-metals label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.61rem;margin:8px 0}.creation-metals select{border:0;border-bottom:1px solid #aeb7b0;background:transparent;padding:5px;color:var(--ink)}.creation-finish{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 30px;background:#f0f0ec;border-top:1px solid #d8dcd7}.creation-finish p{font-size:.72rem;margin:0;color:#677069}

/* Roster, crew, table */
.roster-head,.table-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;color:#f4f5ed;margin:25px 0}.roster-head h1,.table-heading h1{margin:8px 0}.roster-head p,.table-heading p{margin:0;color:#aeb8b0;font-size:.83rem}.roster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.roster-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#faf9f5;border:0;border-top:4px solid var(--red);color:var(--ink);min-height:240px;padding:0 20px 20px}.roster-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0005}.roster-art{height:95px;width:calc(100% + 40px);margin:0 -20px 15px;overflow:hidden;background:#101414}.roster-art img{width:100%;height:100%;object-fit:cover;opacity:.48}.roster-card>span{font-size:.62rem;text-transform:uppercase;letter-spacing:.11em;color:#656d67}.roster-card strong{font-family:Georgia,serif;font-size:1.75rem;font-weight:normal;margin:9px 0 16px}.roster-card small{font-size:.66rem;color:var(--red-deep);margin-top:auto}.crew-banner{height:136px}.crew-content{display:grid;grid-template-columns:1fr 1fr}.crew-content .sheet-col:first-child{border-right:1px solid #d3d7d4}.crew-type-choices,.hold-choices{display:flex;flex-wrap:wrap;gap:6px}.type-choice{border:1px solid #bfc5c0;background:transparent;padding:7px 9px;color:var(--ink);font-size:.65rem}.type-choice.selected{border-color:var(--red);background:#f6e6e3;color:var(--red-deep)}.crew-sheet .pips{max-width:370px}.table-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.table-paper{background:var(--paper);color:var(--ink);padding:0 22px 22px;min-height:420px}.table-paper-head{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#1a1d1e;color:#fff;margin:0 -22px 19px;padding:14px 22px;border-bottom:3px solid var(--red);font-size:.72rem;letter-spacing:.1em;font-weight:800}.table-paper-head span{color:#bac0bd;font-size:.56rem}.clocks-grid{display:grid;gap:10px}.clock-card{border-bottom:1px solid #c9ceca;padding:9px 0}.clock-card>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:.77rem}.clock-card small{color:var(--muted)}.clock-pips{display:flex;gap:7px;margin:12px 0 4px;flex-wrap:wrap}.clock-pips button{width:27px;height:27px;background:white;border:1px solid #5c6760;transform:rotate(45deg)}.clock-pips button.filled{background:var(--red);border-color:var(--red)}.inline-add{display:flex;gap:8px;margin-top:22px}.inline-add input,.inline-add select{border:0;border-bottom:1px solid #9da7a0;background:transparent;padding:7px;color:var(--ink);min-width:0}.inline-add input{flex:1}.journal-compose{display:grid;justify-items:end;gap:9px;border-bottom:1px solid #d3d8d2;padding-bottom:18px}.journal-compose textarea{width:100%;border:0;border-bottom:1px solid #adb6ae;resize:vertical;background:transparent;padding:8px 0;min-height:57px;color:var(--ink)}.journal-feed{display:grid;gap:0;max-height:740px;overflow:auto}.journal-entry{padding:17px 2px;border-bottom:1px solid #d4dad5}.journal-entry p{font-size:.78rem;white-space:pre-wrap;margin:7px 0 0}.journal-entry h3{font-family:Georgia,serif;font-size:1.15rem;font-weight:normal;margin:8px 0}.journal-meta{color:#748079;font-size:.61rem}.journal-dice{display:flex;align-items:center;gap:6px;margin:8px 0}.die{display:grid;place-items:center;width:32px;height:32px;border:1px solid #6d766f;background:white;color:var(--ink);font-weight:800}.die.best{background:var(--red);border-color:var(--red);color:white}.journal-dice strong{font-size:.77rem;margin-left:7px}

/* Dice dialog */
.modal-shade{position:fixed;inset:0;z-index:100;background:#090c0cbf;display:flex;align-items:center;justify-content:center;padding:20px}.roll-dialog{position:relative;width:min(740px,100%);max-height:92vh;overflow:auto;background:var(--paper);color:var(--ink);padding:30px 34px;box-shadow:0 35px 90px #0008;border-top:5px solid var(--red)}.roll-dialog h2{font-size:2rem;margin:7px 0}.roll-dialog>p{font-size:.78rem;color:#647069}.modal-close{position:absolute;right:15px;top:9px;border:0;background:transparent;color:var(--ink);font-size:1.7rem}.roll-row{display:flex;align-items:center;gap:15px;border-bottom:1px solid #cbd1cb;padding:9px 0;font-size:.72rem;font-weight:800}.roll-row select{flex:1;border:0;background:transparent;color:var(--ink);padding:7px}.roll-switch{display:flex;gap:7px;margin:18px 0}.roll-switch button,.roll-skill-grid button,.roll-detail button{border:1px solid #b7c0b8;background:transparent;color:var(--ink);padding:8px;font-size:.68rem}.roll-switch button.selected,.roll-skill-grid button.selected,.roll-detail button.selected{background:#f7e8e5;border-color:var(--red);color:var(--red-deep)}.roll-skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.roll-detail{display:flex;align-items:start;gap:14px;margin:16px 0 0}.roll-detail>span{min-width:67px;font-size:.65rem;font-weight:800;padding-top:9px}.roll-detail>div{display:flex;gap:5px;flex-wrap:wrap}.roll-dialog .stepper{margin-top:16px}.roll-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #d5dad4;padding-top:18px;margin-top:20px}.roll-footer span{font-size:.72rem}.result-dialog{text-align:center;width:min(500px,100%)}.result-dialog p{margin:6px 0 20px}.big-dice{display:flex;justify-content:center;gap:7px;margin:26px 0 16px}.big-dice .die{width:52px;height:52px;font-size:1.4rem}.roll-outcome{display:block;color:var(--red-deep);font-family:Georgia,serif;font-size:2rem;margin-bottom:22px}.result-dialog .primary{margin:auto}

.notice{padding:16px;background:#463129;color:#fce5d3}.loading{padding:60px}#toast{display:none;position:fixed;bottom:18px;right:18px;z-index:150;max-width:350px;background:#1b2020;color:#fff;padding:13px 17px;border-left:4px solid var(--red);box-shadow:0 12px 40px #0006;font-size:.8rem}#toast.show{display:block}
.roll-row input{flex:1;min-width:0;border:0;border-bottom:1px solid #aeb7b0;background:transparent;color:var(--ink);padding:7px}
.crew-creation .creation-talents{max-height:900px;overflow:auto}
.session-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#d7dcd6;font-size:.72rem;padding:10px 0 18px}.session-toolbar>div{display:flex;flex-wrap:wrap;gap:7px}.session-toolbar .secondary{color:#eceee8;border-color:#8a9990}.session-toolbar .secondary:hover{color:#202323}
.rule-list,.talent-choices{display:grid;gap:7px}.rule-choice{display:flex;align-items:flex-start;gap:7px;border:1px solid #d2d8d2;background:#fff;padding:8px}.rule-choice.selected{background:#fcf1ee;border-color:#d9a19a}.rule-select,.rule-status{flex:0 0 32px;display:grid;place-items:center;width:32px;height:32px;border:0;background:transparent;color:transparent;font-size:0;padding:0}.rule-select{cursor:pointer}.rule-select::before,.rule-status::before{content:'';display:block;width:19px;height:19px;transform:rotate(45deg);border:2px solid #58615b;background:#fff}.rule-choice.selected .rule-select::before,.rule-choice.selected .rule-status::before{background:var(--red);border-color:var(--red-deep)}.rule-select:hover::before{border-color:var(--red);box-shadow:0 0 0 3px #d64a4935}.rule-select:focus-visible{outline:2px solid var(--red-deep);outline-offset:2px}.rule-accordion{min-width:0;flex:1}.rule-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font-size:.72rem;font-weight:800;list-style:none;min-height:28px}.rule-accordion summary::-webkit-details-marker{display:none}.rule-accordion summary::after{content:'⌄';color:#a5322e;order:2}.rule-accordion[open] summary::after{content:'⌃'}.rule-accordion summary small{margin-left:auto;color:#9a4640;font-size:.58rem;font-weight:800}.rule-copy{font-size:.72rem;line-height:1.55;color:#434c45;border-top:1px solid #e1e5df;padding:9px 2px 2px;margin-top:5px}.rule-copy p{margin:0 0 9px}.rule-copy p:last-child{margin-bottom:0}.rule-copy strong{color:#252a27}.training-choice{display:flex;align-items:center;gap:10px;font-size:.7rem;margin:14px 0}.training-choice select,.experience-form select{border:1px solid #aeb8af;background:#fff;padding:6px;color:#252a27}
.note-stack{display:grid;gap:8px;margin-bottom:12px}.note-card{border:1px solid #c9d0c9;background:#fff}.note-card summary{cursor:pointer;padding:11px 12px;font-size:.75rem;font-weight:800}.note-card[open] summary{border-bottom:1px solid #d3d9d2;color:#a3322f}.note-card>div{padding:10px 12px}.note-card label{display:grid;gap:4px;color:#627069;font-size:.63rem;margin-bottom:10px}.note-card input,.note-card textarea,.experience-form input,.experience-form textarea{width:100%;min-width:0;border:0;border-bottom:1px solid #aeb8af;background:transparent;color:#202323;padding:7px 3px}.note-card textarea,.experience-form textarea{resize:vertical;min-height:75px}.danger{color:#a3322f}
.item-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.item-row{min-width:0;display:flex;align-items:center;gap:6px;border-bottom:1px solid #e1e5df;padding:4px 0;font-size:.65rem}.item-row>button{flex:0 0 25px;width:25px;height:25px;border:1px solid #b7c1b7;background:#fff;color:#a3322f}.item-row.taken>button{background:#c9413c;color:#fff;border-color:#c9413c}.item-row>span,.item-row>.rule-accordion{flex:1;min-width:0}.item-row small{color:#64716b;font-size:.6rem}.item-row .rule-accordion summary{font-size:.65rem;font-weight:normal}.item-row .rule-accordion summary small{display:none}.item-row .rule-copy{font-size:.65rem}.advance-dot{border:1px solid #c9413c;background:#fff4f2;color:#a3322f;padding:3px 5px;font-size:.62rem;font-weight:800}.experience-form{display:grid;gap:9px;margin:14px 0;padding:14px;background:#f2f2ed;border-left:3px solid #c9413c}.experience-form h3{font-family:Georgia,serif;font-weight:normal;font-size:1.13rem;margin:0}.experience-form>button{justify-self:start}.xp-source{display:grid;grid-template-columns:minmax(0,1fr) 60px;gap:5px 10px;padding:7px 0;border-bottom:1px solid #d8ddd6}.xp-source strong{font-size:.7rem}.xp-source small{grid-column:1;color:#66716a;font-size:.62rem;line-height:1.4}.xp-source select{grid-column:2;grid-row:1/3}.xp-source input{grid-column:1/-1}.xp-allocation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.xp-allocation label{display:grid;gap:5px;font-size:.62rem}.xp-allocation input{max-width:75px}.special-progress{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:12px 0;font-size:.7rem}.check-row{display:flex;align-items:center;gap:7px;font-size:.68rem}.check-row input{width:auto}.crew-sheet .talent-choices{max-height:530px;overflow:auto}
@media(max-width:880px){.item-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.session-toolbar{align-items:start;flex-direction:column}.item-list{grid-template-columns:1fr}.xp-allocation{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1200px){.sheet-columns{grid-template-columns:30% 38% 32%}.sheet-section{padding:16px 12px}.ruled-field{grid-template-columns:90px minmax(0,1fr)}.action-record{font-size:.65rem}.class-picker{grid-template-columns:repeat(4,1fr)}}
@media(max-width:880px){main{padding:18px 12px 70px}.entry-stage,.lobby-grid,.sheet-columns,.creation-body,.crew-content,.table-layout{grid-template-columns:1fr}.entry-stage{margin:15px auto}.entry-cover{min-height:250px;padding:35px}.entry-cover h1{font-size:2.4rem}.entry-paper{padding:35px}.campaign-list,.roster-grid{grid-template-columns:repeat(2,1fr)}.sheet-col,.crew-content .sheet-col:first-child{border-right:0;border-bottom:1px solid #d3d7d4}.sheet-section{padding:17px 20px}.action-col .sheet-section:first-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.action-col .sheet-section:first-child>.sheet-bar{grid-column:1/-1}.creation-actions{border-right:0;border-bottom:1px solid #d3d7d4}.creation-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.table-paper{min-height:0}.session-count{display:none}}
@media(max-width:620px){.masthead{padding:0 15px;height:66px}.brand strong{font-size:1.16rem}.brand small{font-size:.49rem}.sigil{font-size:1.5rem}.account-name{display:none}h1{font-size:2.25rem}.campaign-top{gap:9px;flex-wrap:wrap}.campaign-name{font-size:.95rem;padding-left:10px}.invite-button{margin-left:auto}.section-nav{overflow:auto;white-space:nowrap}.nav-tab{padding:12px 14px;font-size:.71rem}.sheet-banner{height:135px;padding:18px}.hero-name{font-size:2rem}.banner-seal{display:none}.sheet-actions{font-size:.65rem}.sheet-footer span{display:none}.sheet-section{padding:15px}.action-col .sheet-section:first-child{display:block}.action-record{min-height:39px}.action-name{font-size:.75rem}.roster-head,.table-heading{align-items:start;flex-direction:column}.roster-grid,.campaign-list{grid-template-columns:1fr}.class-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.creation-intro,.creation-actions,.creation-talents{padding:20px 15px}.creation-action-grid{grid-template-columns:1fr}.creation-action-grid .action-record{font-size:.76rem}.creation-finish{flex-direction:column;align-items:stretch;padding:18px}.roll-dialog{padding:24px 18px}.roll-skill-grid{grid-template-columns:repeat(2,1fr)}.roll-detail{display:block}.roll-detail>div{margin-top:6px}.roll-footer{flex-direction:column;align-items:stretch}.inline-add{flex-wrap:wrap}.inline-add input{min-width:100%}}

/* Иллюстрации, отметки и раскрывающиеся правила */
html{scroll-behavior:auto}
.sheet-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101314e8 0%,#101314b8 55%,#1013144d 100%);z-index:1;pointer-events:none}
.sheet-banner .class-pattern{z-index:0;opacity:.78;object-position:center 46%}
.sheet-banner>div,.sheet-banner .banner-seal{z-index:2}
.class-choice img{opacity:.62;object-position:center 52%}
.rule-select,.rule-status{background:transparent;border:0;box-shadow:none}
.rule-select::before,.rule-status::before{width:21px;height:21px;border:1.5px solid #58615b}
.rule-accordion summary::after{content:"";display:block;flex:0 0 9px;width:9px;height:9px;border-right:2px solid var(--red-deep);border-bottom:2px solid var(--red-deep);transform:rotate(45deg);transition:transform .24s ease;margin:0 3px 5px 5px}
.rule-accordion[open] summary::after{content:"";transform:rotate(225deg);margin-top:7px;margin-bottom:0}
.note-card summary::after{content:"";float:right;width:9px;height:9px;border-right:2px solid var(--red-deep);border-bottom:2px solid var(--red-deep);transform:rotate(45deg);transition:transform .24s ease;margin:1px 4px}
.note-card[open] summary::after{transform:rotate(225deg);margin-top:6px}
.rule-accordion,.note-card{overflow:clip}
.item-list{grid-template-columns:1fr}
.item-row{position:relative;min-height:34px}
.item-row>button.item-diamond{flex:0 0 31px;width:31px;height:31px;display:grid;place-items:center;border:0;background:transparent;padding:0}
.item-diamond::before{content:"";display:block;width:15px;height:15px;border:1.5px solid #58615b;background:#fff;transform:rotate(45deg)}
.item-row.taken>.item-diamond{background:transparent;border:0}
.item-row.taken>.item-diamond::before{background:var(--red);border-color:var(--red-deep)}
.item-common-tag{font-size:.48rem;color:var(--red-deep);letter-spacing:.06em}
.item-row>button.item-remove{flex:0 0 22px;width:22px;height:22px;border:0;background:transparent;color:var(--red-deep);font-size:1.2rem;opacity:0;transition:opacity .18s}
.item-row:hover>.item-remove,.item-remove:focus-visible{opacity:1}
.catalog-dialog{position:relative;width:min(850px,100%);max-height:92vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);padding:25px 30px;box-shadow:0 35px 90px #0008;border-top:5px solid var(--red)}
.catalog-dialog h2{margin:7px 0}.catalog-dialog p{font-size:.75rem;color:#5b665f}
.catalog-search{width:100%;padding:10px 4px;border:0;border-bottom:2px solid #a6ada6;background:transparent;color:var(--ink);margin:6px 0 14px}
.catalog-list{overflow:auto;padding-right:8px}.catalog-list h3{margin:20px 0 6px;font-size:.7rem;color:var(--red-deep);letter-spacing:.08em;text-transform:uppercase}.catalog-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #d8ddd8}.catalog-row[hidden],.catalog-list h3[hidden]{display:none}.catalog-row strong{display:block;font-size:.75rem}.catalog-row small{display:block;margin-top:3px;font-size:.65rem;line-height:1.45;color:#5f6962}.catalog-row button{flex:0 0 95px;min-height:30px;border:1px solid var(--red);background:transparent;color:var(--red-deep);font-size:.65rem;font-weight:800}.catalog-row button:hover:not(:disabled){background:#f6e4e1}
@media(hover:none){.item-row>.item-remove{opacity:1}}
@media(max-width:620px){.catalog-dialog{padding:20px 15px}.catalog-row{align-items:flex-start}.catalog-row button{flex-basis:78px}}
@media(prefers-reduced-motion:reduce){.rule-accordion summary::after,.note-card summary::after,.item-row>.item-remove{transition:none}}
.help-button{border:1px solid #d17369;background:#1e2222;color:#ffd3cc;padding:8px 12px;font-size:.72rem;font-weight:800;white-space:nowrap}
.help-button:hover{background:#4b2927}
.mode-switch{display:inline-flex;gap:2px;padding:3px;border:1px solid #717b76;background:#171b1a;border-radius:4px;white-space:nowrap}
.mode-switch button{border:0;background:transparent;color:#bbc5bf;padding:7px 11px;font-size:.69rem;font-weight:800;border-radius:2px}
.mode-switch button.selected{background:#d34c45;color:#fff}
.mode-switch button:hover:not(:disabled):not(.selected){background:#343b37;color:#fff}
.mode-switch button:disabled{cursor:default}
@media(max-width:620px){.mode-switch{max-width:100%;white-space:normal}.mode-switch button{padding:8px}}
.help-dialog{position:relative;width:min(760px,100%);max-height:92vh;overflow:auto;background:var(--paper);color:var(--ink);padding:28px 32px;border-top:5px solid var(--red);box-shadow:0 35px 90px #0008}
.help-dialog h2{margin:8px 0}.help-dialog h3{font-family:Montserrat,Arial,sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin:22px 0 12px}.help-next{font-size:.79rem}.help-current{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#eeeae5;font-size:.7rem}.help-current strong{color:var(--red-deep)}.help-rules{display:grid;gap:8px}.help-rules .rule-accordion{border:1px solid #d3d9d2;background:#fff;padding:10px 12px}.help-all{margin-top:20px;border-top:1px solid #cdd3cd;padding-top:10px}.help-all>summary{cursor:pointer;font-size:.72rem;font-weight:800;color:var(--red-deep);margin-bottom:12px}.help-all .help-rules{padding-top:5px}
.roll-breakdown{display:grid;gap:4px;font-size:.76rem}.roll-breakdown strong{color:var(--red-deep)}.roll-breakdown small{font-size:.64rem;color:#5d6860}
@media(max-width:620px){.help-dialog{padding:22px 16px}.session-toolbar .help-button{align-self:flex-start}}
.downtime-grid{display:grid;grid-template-columns:minmax(0,1fr)}
.downtime-grid .experience-form label,.downtime-section .experience-form label{display:grid;gap:5px;font-size:.68rem;color:#46514a}
.downtime-grid .experience-form .check-row,.downtime-section .experience-form .check-row{display:flex;align-items:center;gap:8px}
.downtime-grid .experience-form .check-row input,.downtime-section .experience-form .check-row input{width:auto}
.downtime-extra{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0}
.downtime-extra input{flex:1;min-width:170px;padding:7px;border:1px solid #b9c2b9;background:#fff;color:var(--ink);font-size:.7rem}
.result-dialog [data-resistance-trauma]{display:block;width:100%;margin:12px 0;padding:8px;border:1px solid #b9c2b9;background:#fff;color:var(--ink)}

/* Более читаемый игровой стол: ширина листа и размер текста */
:root{font-size:18px}
@media(min-width:621px){
  .masthead{padding-inline:max(12px,calc((100vw - 1776px)/2))}
  main{max-width:1800px;padding-inline:12px}
  .creation-intro{padding-inline:24px}
  .creation-actions,.creation-talents{padding-inline:22px}
}
@media(min-width:1201px){.sheet-section{padding-inline:16px}}
.sheet-bar{font-size:.72rem}
.sheet-bar small,.track-line small,.load-choice small,.banner-kicker,.journal-meta,.xp-source small,.item-common-tag,.rule-accordion summary small{font-size:.64rem}
.rule-accordion summary,.rule-copy{font-size:.78rem}
.item-row{font-size:.72rem}
.item-row .rule-accordion summary{font-size:.75rem}
.talent-record p,.item-row .rule-copy,.micro-note{font-size:.72rem}
.action-name,.session-toolbar,.help-current{font-size:.78rem}
.ruled-field>span,.track-line strong,.talent-record strong,.xp-source strong,.catalog-row strong{font-size:.76rem}
.ruled-field input,.ruled-field textarea,.wound-row input,.trauma-row input{font-size:.82rem}
.class-choice span,.catalog-row button{font-size:.72rem}
.mode-switch button,.roll-switch button,.roll-skill-grid button,.roll-detail button{font-size:.74rem}

/* Квадратные иллюстрации при выборе класса и типа команды */
.class-picker{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;max-width:1500px}
.class-choice{aspect-ratio:1;min-height:0;min-width:0;padding:12px;background:var(--paper);isolation:isolate;border-width:3px}
.class-choice img{opacity:1;object-fit:cover;object-position:center 0%;z-index:0}
.class-choice::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#101314e8);z-index:1;pointer-events:none}
.class-choice span{z-index:2;color:#fff;line-height:1.35;text-shadow:0 1px 3px #000}
.class-choice:hover{border-color:#d77a6f}
.class-choice.selected{border-color:var(--red)}
@media(max-width:380px){.class-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.class-choice{padding:9px}}

/* Игровой стол: город, истории и пошаговые листы */
:root{--paper:#f5f2ea;--red:#d6312e;--red-deep:#b91f22;--muted:#69706e;--line:#cecac0;--city-art:url('/scene-art/city.jpg?v=4dedffc53e1eb07e');--street-art:url('/scene-art/street.jpg?v=4dedffc53e1eb07e');--crew-art:url('/scene-art/crew.jpg?v=4dedffc53e1eb07e')}
body{position:relative;isolation:isolate;background:#091012;color:#eeeae2}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,#060d10f2 0%,#071014d9 34%,#08101491 72%,#080e12b8),linear-gradient(0deg,#050b0fe8,transparent 65%),var(--city-art) center/cover no-repeat;pointer-events:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.masthead{height:80px;padding-inline:max(24px,calc((100vw - 1712px)/2));gap:28px;background:#080d0fe8;border-bottom:1px solid #7275704d;backdrop-filter:blur(10px)}
.brand{gap:13px;flex-shrink:0}.brand strong{font-size:1.6rem;white-space:nowrap}.brand small{font-size:.55rem;letter-spacing:.24em}.brand .sigil{font-size:2.4rem}
#primary-navigation{align-self:stretch;margin-left:clamp(8px,4vw,70px);flex:1}.primary-nav{display:flex;gap:30px;height:100%;align-items:stretch}.primary-nav button{position:relative;border:0;background:none;padding:0 4px;color:#bec3c1;font-size:.77rem;font-weight:600}.primary-nav button::after{content:"";position:absolute;left:0;right:0;bottom:10px;height:3px;background:transparent}.primary-nav button.active{color:white}.primary-nav button.active::after{background:var(--red)}.primary-nav button:hover{color:white}
#identity{display:flex;align-items:center;gap:22px;white-space:nowrap}.account-name{font-size:.74rem}.header-link{margin:0;font-size:.73rem;color:#f16056}
main{max-width:1760px;padding:24px 24px 72px;min-height:calc(100vh - 80px)}
.primary,.secondary{font-size:.77rem;min-height:44px;padding:12px 20px;transition:background .15s,border-color .15s}.primary{background:linear-gradient(#dc3734,#bb2025);border-color:#e75147}.primary:hover{background:#ed4038}.secondary{border-color:#727b7b}.small{min-height:38px;padding:9px 14px;font-size:.69rem}.text-link{font-size:.72rem}.kicker{font-size:.65rem;letter-spacing:.18em}.kicker.red{color:#f15349}
.lobby-head{margin:30px 0 30px}.lobby-head h1{font-size:clamp(2.8rem,4.5vw,4.1rem);margin:9px 0 10px;line-height:1.08;color:#fbf9f2}.lobby-head p{font-size:.88rem;line-height:1.55;color:#d3d7d2;max-width:540px;margin-bottom:0}
.lobby-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}.campaign-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.campaign-cover{position:relative;isolation:isolate;overflow:hidden;min-height:164px;padding:20px 22px;border:1px solid #858d88;border-top:3px solid var(--red);background:#121c20;transition:transform .15s,border-color .15s;box-shadow:0 6px 20px #0003}.campaign-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#081014ed 0%,#08101491 58%,#08101424);z-index:-1}.campaign-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 45%;z-index:-2}.campaign-cover:nth-child(4n+2) img{object-position:50% 35%}.campaign-cover:hover{transform:translateY(-2px);border-color:#f1544b}.campaign-cover strong{font-size:clamp(1.45rem,2.2vw,2.1rem);margin:10px 0 16px;line-height:1.12}.campaign-cover span:last-child{font-size:.68rem;max-width:260px}.campaign-cover span:last-child b{font-size:1rem}.campaign-number{font-size:.57rem;font-weight:800;color:#ff7b69;letter-spacing:.08em}
.new-campaign,.materials-paper{background-color:var(--paper);background-image:repeating-linear-gradient(113deg,#55482e03 0 1px,transparent 1px 5px);color:var(--ink);box-shadow:0 18px 40px #0004;border:1px solid #ffffff8a;padding:28px}.new-campaign h2{font-size:1.75rem;margin:12px 0 10px}.new-campaign p{font-size:.75rem;line-height:1.5;color:#68716f}.new-campaign .kicker.red,.wizard-paper .kicker.red,.materials-paper .kicker.red{color:var(--red-deep)}.new-campaign .primary{width:100%;margin-top:12px}.new-campaign form{margin:0}.campaign-name-field{display:flex;align-items:center;border:1px solid #bcbdb5;margin-top:25px;background:#ffffff45}.campaign-name-field input{background:transparent;border:0;width:100%;min-width:0;padding:12px 10px;color:var(--ink);font-size:.73rem}.campaign-name-field>span:last-child{padding-right:12px;color:#747a76;font-size:1rem}.material-links{margin-top:25px;padding-top:13px;border-top:1px solid #cfcac0}.material-links .subheading{font-size:.58rem;letter-spacing:.1em;margin:8px 0}.material-links a{display:flex;align-items:center;gap:12px;color:#2e3433;text-decoration:none;font-size:.71rem;padding:10px 0;border-bottom:1px solid #dedbd2}.material-links a:last-child{border-bottom:0}.material-links a>span{font-size:1.2rem;line-height:1}.material-links a>b{margin-left:auto;color:#66716e;font-size:1rem}.material-links a:hover{color:var(--red-deep)}
.empty-story{border:1px dashed #77857b70;background:#09111480;min-height:230px;padding:40px 30px;text-align:center;grid-column:1/-1;color:#d4d9d1}.empty-story .sigil{display:block;margin-bottom:18px}.empty-story h2{font-size:1.8rem;margin-bottom:10px}.empty-story p{font-size:.8rem}.empty-story .secondary{color:#e8ede4;border-color:#9ba79c}
.campaign-top{padding:4px 0 18px;gap:18px}.campaign-name{font-size:.95rem;border-color:#7c847e;padding-left:18px}.campaign-top .text-link{color:#d7ddd7}.session-count{font-size:.66rem}.invite-button{font-size:.68rem;padding:10px 16px;border-color:#bb5149;color:#f47b6f}.campaign-heading{min-width:0}.session-eyebrow{display:block;text-transform:uppercase;font-size:.65rem;letter-spacing:.12em;color:#a5afa9;margin-bottom:9px}.campaign-heading h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.1;margin:0 0 10px;overflow-wrap:anywhere}.campaign-heading p{font-size:.8rem;color:#cad0c8;margin-bottom:0}.session-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:25px;align-items:end;padding:12px 0 27px}.session-toolbar>.session-controls{display:flex;flex-direction:column;gap:17px;align-items:flex-end}.session-control-top,.session-control-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.session-control-actions .secondary{border-color:#7e8780;color:#e9eae3;background:#09101466;font-size:.66rem;padding:10px 13px}.session-control-actions .secondary:hover{background:#b62b29;color:white;border-color:#d9554b}.mode-switch{padding:0;border-radius:0;border-color:#83898070;background:#070d0ec9}.mode-switch button{border-radius:0;font-size:.66rem;min-height:39px;padding:9px 15px}.mode-switch button.selected{background:linear-gradient(#e33935,#c52729)}.help-button{font-size:.67rem;min-height:39px;background:#0b141a8a;border-color:#c55c50;padding:8px 15px}
.section-nav{gap:14px;margin-bottom:22px;border-color:#67736b80}.nav-tab{font-size:.75rem;padding:16px 27px;border-bottom-width:4px;color:#bfc6c0}.nav-tab.active{border-color:#e94a40}.roster-head{margin:24px 0 20px}.roster-head p{font-size:.79rem;margin-top:9px;color:#d0d6cf}.roster-grid{gap:22px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.roster-card{position:relative;min-height:320px;padding:0 22px 18px;background:var(--paper);border:1px solid #c4c8c0;border-top:4px solid var(--red);transition:transform .15s,box-shadow .15s}.roster-art{width:calc(100% + 44px);height:200px;margin:0 -22px 16px}.roster-art img{opacity:1;object-position:center 28%;transition:transform .35s}.roster-card:hover .roster-art img{transform:scale(1.025)}.roster-card>span{font-size:.61rem;letter-spacing:.07em;line-height:1.4}.roster-card strong{font-size:1.95rem;line-height:1.12;margin:7px 28px 10px 0}.roster-card small{font-size:.65rem;color:#67716c}.roster-card small b{position:absolute;right:22px;bottom:32px;color:var(--red);font-size:1.25rem}.new-hero-card{border:1px dashed #83958b80;background:#0a12164d;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;color:#f96758}.new-hero-card .sigil{font-size:3.5rem}.new-hero-card strong{font-size:.91rem}.new-hero-card:hover{border-color:#f1574b;background:#5c27242e}
.materials-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:24px;align-items:start}.materials-paper{padding:34px}.materials-paper h2{margin:10px 0 24px;font-size:2rem}.materials-paper .help-rules{gap:10px}.materials-paper .rule-accordion{background:#ffffff50;border:1px solid #d6d4ca;padding:13px 16px}.materials-paper .rule-copy{font-size:.81rem}
.has-wizard .campaign-top{margin-bottom:4px}.wizard-layout{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:stretch;margin-top:8px;min-height:660px;border:1px solid #71807761;box-shadow:0 20px 65px #0005}.wizard-sidebar{position:relative;isolation:isolate;overflow:hidden;padding:26px 22px 34px;background:#0a1216;display:flex;flex-direction:column;color:#e4e9df}.wizard-sidebar-art{position:absolute;inset:0;background:linear-gradient(#081014bb 0%,#081014e3 48%,#08101455 76%,#0810141a),var(--street-art) 30% bottom/auto 100% no-repeat;z-index:-1;pointer-events:none}.wizard-layout[data-wizard="crew"] .wizard-sidebar-art{background-image:linear-gradient(#081014aa 0%,#081014d9 58%,#08101455),var(--crew-art)}.wizard-back{display:block;border:0;background:transparent;color:#dbe2d8;font-size:.64rem;text-align:left;padding:0;margin:0 0 35px;line-height:1.5}.wizard-back:hover{color:#fff}.wizard-steps{display:flex;flex-direction:column;gap:0}.wizard-step{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:18px;min-height:89px;padding:0 0 23px;background:none;border:0;color:#c0cac1;text-align:left;opacity:1!important}.wizard-step:not(:last-child)::after{content:"";position:absolute;left:11px;top:29px;bottom:9px;width:1px;background:#707c7475}.wizard-step strong{display:block;font-size:.74rem;font-weight:600;padding-top:0}.wizard-step small{display:block;font-size:.65rem;line-height:1.45;color:#a7b3a8;margin-top:4px}.step-diamond{display:block;width:21px;height:21px;border:1px solid #a9b6a9;transform:rotate(45deg);background:#172128;box-shadow:inset 0 0 0 3px #0b1418;margin-top:2px}.wizard-step.active{color:#ff685a}.wizard-step.active .step-diamond{background:#ed443a;border:2px solid #faf3df;box-shadow:0 0 0 3px #da4b4030}.wizard-step.complete .step-diamond{background:#d14539;border-color:#e8997e}.wizard-step:disabled{cursor:default;color:#a4afa5}.wizard-help{align-self:flex-start;border:1px solid #82918477;background:#0a1118a8;color:#e6eee0;font-size:.62rem;padding:9px 11px;margin-top:12px}.wizard-help:hover{border-color:#ed6958}
.wizard-paper{display:flex;flex-direction:column;min-width:0;background-color:var(--paper);background-image:repeating-linear-gradient(113deg,#654c2a04 0 1px,transparent 1px 5px);box-shadow:none}.wizard-heading{position:relative;isolation:isolate;padding:28px 34px 14px;overflow:hidden}.wizard-heading::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f5f2eaf7,#f5f2eadd 55%,#f5f2ea83),var(--city-art) right 43%/cover;opacity:.8}.wizard-heading .kicker{font-size:.62rem;letter-spacing:.13em}.wizard-name{display:block;background:transparent;border:0;border-bottom:1px solid #b29f8440;font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.15;color:#17201e;width:min(100%,750px);padding:4px 0 6px;margin-top:5px;outline:none}.wizard-name::placeholder{color:#1d2523;opacity:1}.wizard-name:focus{border-bottom-color:var(--red)}.wizard-body{padding:0 34px 28px;flex:1;min-width:0}.wizard-intro{font-size:.77rem;color:#424d47;line-height:1.5;margin:2px 0 18px}.wizard-section-head{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin:10px 0 25px}.wizard-section-head h2{font-size:1.7rem;margin:0 0 9px}.wizard-section-head p{font-size:.76rem;color:#647068;margin:0;max-width:670px}.wizard-section-head .point-counter{margin:0;white-space:nowrap;background:#fff7ef;font-size:1.7rem}.wizard-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 26px;margin-top:20px}.wizard-field{display:flex;flex-direction:column;gap:9px;min-width:0}.wizard-field>span{font-size:.69rem;font-weight:800;color:#3f4b43;letter-spacing:.03em}.wizard-field small{font-size:.55rem;color:#8b8073;font-weight:400;margin-left:6px}.wizard-field textarea{width:100%;min-height:72px;resize:vertical;background:#ffffff3d;border:1px solid #c4c6ba;color:#1f2823;padding:10px 12px;font-size:.77rem;line-height:1.55}.wizard-field textarea::placeholder{color:#8d938a}.wizard-field textarea:focus{border-color:#c74538;outline:0;box-shadow:0 0 0 2px #b5453212}.wizard-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 34px;border-top:1px solid #ccc8bb;background:#ffffff36}.wizard-footer>div{display:flex;gap:22px;align-items:center}.wizard-footer .secondary{font-size:.7rem;border-color:#828b7d;min-width:110px}.wizard-footer .text-link{color:#566451;font-size:.68rem}.wizard-footer .primary{min-width:215px;font-size:.72rem}.creation-recap{display:flex;flex-wrap:wrap;gap:12px 25px;margin-top:30px;padding:16px 20px;border:1px solid #d2cbbb;background:#efece2;color:#5f685c;font-size:.72rem}.creation-recap strong{color:#9e302b}
.carousel-shell{position:relative;margin:0 0 20px}.art-carousel.class-picker{display:flex;gap:10px;max-width:none;margin:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px 1px 6px;overscroll-behavior-x:contain}.art-carousel::-webkit-scrollbar{display:none}.art-carousel .class-choice{flex:0 0 calc((100% - 30px)/4);aspect-ratio:1;scroll-snap-align:start;padding:12px;border:3px solid #777b70;background:#101a1d;transition:border-color .15s}.art-carousel .class-choice img{object-position:center 0%}.art-carousel .class-choice::after{inset:65% 0 0;background:linear-gradient(transparent,#060b0ef2)}.art-carousel .class-choice span{font-size:.7rem;font-weight:800;line-height:1.3}.art-carousel .class-choice.selected{border-color:#e33330;box-shadow:0 0 0 1px #aa2827}.art-carousel .class-choice:hover{border-color:#ec6a52}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;display:grid;place-items:center;width:34px;height:34px;padding:0;border-radius:50%;border:1px solid #7f877a;background:#fffaf0f5;color:#b02e29;font-family:Georgia,serif;font-size:1.8rem;line-height:1;box-shadow:0 3px 10px #0002}.carousel-arrow.previous{left:-17px}.carousel-arrow.next{right:-17px}.carousel-arrow:hover{background:#fff;border-color:#d84436}
.choice-summary{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.85fr);border:1px solid #cbc8bb;background:#ffffff25}.choice-summary>section{padding:18px 20px;min-width:0}.choice-summary>section+section{border-left:1px solid #cbc8bb}.choice-description p{font-size:.73rem;line-height:1.6;color:#4f5a50;margin:9px 0 0}.choice-summary .subheading{margin:0 0 9px;font-size:.62rem;color:#333f36}.choice-summary ul{list-style-type:'♦  ';padding-left:14px;margin:0;color:#4d594e;font-size:.7rem;line-height:1.6}.choice-summary li{padding-left:2px;margin-bottom:6px}.choice-summary .micro-note{font-size:.65rem}.creation-resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:20px}.wizard-body .creation-action-grid{gap:24px}.wizard-body .action-record{min-height:46px;font-size:.76rem}.wizard-body .creation-action-grid .pip{width:24px}.wizard-body .talent-choices{gap:9px}.wizard-body .rule-choice{padding:10px;background:#fffdf8}.wizard-body .rule-accordion summary{font-size:.75rem}.wizard-body .rule-copy{font-size:.75rem;line-height:1.65}.wizard-body .rule-copy strong{color:#333c32}.wizard-body .rule-select,.wizard-body .rule-status{flex-shrink:0}.wizard-body .creation-metals{max-width:600px}.wizard-body .creation-metals label{font-size:.75rem}.wizard-body .creation-metals select{font-size:.8rem;min-width:180px;padding:10px}
.game-sheet:not(.wizard-paper){border:1px solid #626f6350}.sheet-actions{margin:20px 0 14px}.sheet-banner{background:#0b1417}.sheet-section{background-color:var(--paper)}.sheet-footer{background:#111a1d}.table-paper{background:var(--paper)}.entry-stage{box-shadow:0 24px 80px #0007;border:1px solid #68756b55}.entry-cover{background:linear-gradient(90deg,#081014de,#08101466),var(--street-art) center/cover}.entry-cover::after{display:none}.entry-paper{background:var(--paper)}
@media(min-width:1550px){.art-carousel .class-choice{flex-basis:calc((100% - 40px)/5)}}
@media(max-width:1120px){.masthead{gap:20px;padding-inline:22px}.primary-nav{gap:18px}#primary-navigation{margin-left:10px}.brand strong{font-size:1.35rem}.brand small{font-size:.49rem}#identity{gap:12px}.lobby-grid{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.new-campaign{padding:23px}.campaign-cover{padding:17px;min-height:154px}.campaign-cover strong{font-size:1.55rem}.wizard-layout{grid-template-columns:210px minmax(0,1fr)}.wizard-sidebar{padding:26px 18px}.wizard-step{gap:13px}.wizard-heading{padding:25px 27px 14px}.wizard-body{padding-inline:27px}.wizard-footer{padding:20px 27px}.choice-summary{grid-template-columns:1fr 1fr}.choice-summary>section{padding:15px}.session-toolbar{grid-template-columns:1fr}.session-toolbar>.session-controls{align-items:flex-start;gap:12px}.session-controls{width:100%}.session-control-top{width:100%}.session-control-top .help-button{margin-left:auto}.roster-art{height:165px}.roster-card,.new-hero-card{min-height:285px}.creation-resource-grid{grid-template-columns:1fr}.wizard-fields{gap:20px}.wizard-footer .primary{min-width:190px}}
@media(max-width:880px){.masthead{flex-wrap:wrap;height:auto;min-height:76px;padding-top:14px;padding-bottom:0;gap:9px 15px}#primary-navigation{order:3;width:100%;flex:auto;margin:0;height:47px}.primary-nav{gap:30px}.primary-nav button::after{bottom:0}.primary-nav button{font-size:.74rem}#identity{margin-left:auto}.brand strong{font-size:1.4rem}main{padding:24px 20px 65px}.lobby-head{margin-top:17px}.lobby-grid{grid-template-columns:1fr 280px}.campaign-list{grid-template-columns:1fr}.new-campaign{padding:22px}.campaign-cover{min-height:145px}.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-art{height:180px}.new-hero-card{min-height:280px}.wizard-layout{grid-template-columns:175px minmax(0,1fr)}.wizard-sidebar{padding:24px 15px}.wizard-step{grid-template-columns:20px minmax(0,1fr);gap:12px;min-height:93px}.wizard-step strong{font-size:.65rem}.wizard-step small{font-size:.58rem}.step-diamond{width:18px;height:18px}.wizard-step:not(:last-child)::after{left:9px;top:27px}.wizard-back{font-size:.58rem}.wizard-heading{padding:22px 24px 14px}.wizard-body{padding:0 24px 24px}.art-carousel .class-choice{flex-basis:calc((100% - 20px)/3)}.art-carousel .class-choice span{font-size:.62rem}.choice-summary{grid-template-columns:1fr}.choice-summary>section+section{border-left:0;border-top:1px solid #cbc8bb}.wizard-fields{grid-template-columns:1fr}.wizard-footer{padding:18px 24px;gap:10px;flex-wrap:wrap}.wizard-footer>div{gap:15px}.wizard-footer .primary{min-width:185px}.wizard-body .creation-action-grid{grid-template-columns:1fr;gap:18px}.wizard-section-head{gap:15px}.wizard-section-head h2{font-size:1.5rem}.materials-layout{grid-template-columns:260px minmax(0,1fr)}.materials-paper{padding:24px}.campaign-top{gap:11px}.campaign-name{padding-left:11px}}
@media(max-width:620px){.masthead{padding-inline:16px}.brand strong{font-size:1.25rem}.brand .sigil{font-size:2rem}.brand small{font-size:.47rem}.header-link{font-size:.67rem}.primary-nav{justify-content:space-between;gap:0}.primary-nav button{font-size:.7rem;padding:0 5px}main{padding:17px 14px 55px}.lobby-head{margin:17px 0 25px}.lobby-head h1{font-size:2.9rem}.lobby-head p{font-size:.78rem}.lobby-grid{grid-template-columns:1fr;gap:25px}.campaign-list{grid-template-columns:1fr}.campaign-cover{min-height:155px;padding:18px}.campaign-cover strong{font-size:1.9rem}.campaign-cover span:last-child{max-width:220px}.new-campaign{padding:26px}.campaign-top{padding:4px 0 16px}.campaign-name{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-button{padding:9px 11px;font-size:.62rem}.session-toolbar{padding-top:4px;padding-bottom:20px;gap:20px}.campaign-heading h1{font-size:2.5rem}.campaign-heading p{font-size:.74rem}.session-control-top{gap:10px;justify-content:space-between}.mode-switch button{font-size:.6rem;padding:8px 10px;min-height:36px}.help-button{font-size:.62rem;padding:8px 10px;min-height:36px}.session-control-top .help-button{margin:0}.session-control-actions{gap:8px}.session-control-actions .secondary{font-size:.6rem;padding:9px 10px;min-height:36px}.section-nav{gap:0}.nav-tab{font-size:.67rem;padding:13px 15px}.roster-grid{grid-template-columns:1fr;gap:20px}.roster-card{min-height:315px}.roster-art{height:210px}.new-hero-card{min-height:200px}.materials-layout{grid-template-columns:1fr}.materials-paper{padding:23px 18px}.wizard-layout{display:flex;flex-direction:column;min-height:0;margin-top:0}.wizard-sidebar{padding:16px 17px 13px;overflow:visible;background:#0b151bcc}.wizard-sidebar-art{display:none}.wizard-back{font-size:.63rem;margin-bottom:20px}.wizard-steps{flex-direction:row;gap:12px;overflow-x:auto;padding:3px 2px 12px;scrollbar-width:none}.wizard-step{min-height:0;flex:0 0 auto;display:flex;gap:9px;padding:0 12px 0 2px;align-items:center}.wizard-step strong{font-size:.66rem;white-space:nowrap}.wizard-step small{display:none}.wizard-step:not(:last-child)::after{display:none}.step-diamond{width:16px;height:16px;flex-shrink:0}.wizard-help{position:absolute;right:17px;top:10px;font-size:.58rem;padding:7px 8px;margin:0}.wizard-heading{padding:24px 21px 14px}.wizard-name{font-size:2rem}.wizard-body{padding:0 21px 24px}.wizard-intro{font-size:.72rem;margin-bottom:17px}.art-carousel .class-choice{flex-basis:calc((100% - 10px)/2);padding:10px}.art-carousel .class-choice span{font-size:.69rem}.carousel-arrow{width:29px;height:29px;font-size:1.5rem}.carousel-arrow.previous{left:-14px}.carousel-arrow.next{right:-14px}.choice-summary>section{padding:16px}.choice-description p{font-size:.72rem}.wizard-footer{padding:17px 21px;gap:16px}.wizard-footer>div{width:100%;justify-content:space-between}.wizard-footer .primary{width:100%}.wizard-footer .secondary{min-width:100px}.wizard-fields{margin-top:15px;gap:20px}.wizard-section-head{margin:8px 0 20px}.wizard-section-head h2{font-size:1.5rem}.wizard-section-head p{font-size:.7rem}.wizard-section-head .point-counter{font-size:1.3rem;padding:6px 9px;flex-direction:column;align-items:center;gap:0}.wizard-section-head .point-counter span{font-size:.6rem}.creation-resource-grid{gap:20px}.wizard-body .rule-choice{padding:8px 7px;gap:5px}.wizard-body .rule-accordion summary{font-size:.71rem}.wizard-body .rule-copy{font-size:.73rem}.creation-recap{font-size:.68rem;padding:15px;gap:9px 16px}.sheet-actions{font-size:.62rem}.entry-cover{min-height:300px}.entry-paper{padding:30px 24px}}
@media(prefers-reduced-motion:reduce){.campaign-cover,.roster-card,.roster-art img,.art-carousel .class-choice,.primary,.secondary{transition:none}.art-carousel{scroll-behavior:auto}}

/* Общий лист: один редактор; ручные долгие проекты */
.crew-edit-fields{border:0;min-width:0;min-inline-size:0;margin:0;padding:0}
.crew-edit-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:16px 0;padding:16px 20px;background:var(--paper);color:var(--ink);border:1px solid #8a91814d;border-left:4px solid #838b80}
.crew-edit-bar>div{min-width:0}.crew-edit-bar strong{display:block;font-size:.8rem;line-height:1.4}.crew-edit-bar span{display:block;font-size:.69rem;color:#6b7568;line-height:1.5;margin-top:5px}.crew-edit-bar .primary,.crew-edit-bar .secondary{flex-shrink:0}.crew-edit-bar.editing{border-left-color:var(--red);background:#faf5e9}.crew-edit-bar.occupied{border-left-color:#b98c51;background:#eee9de}
.projects-section{margin-bottom:20px}.sheet-col .projects-section{margin-bottom:0}.projects-section>.sheet-bar{margin-bottom:10px}.project-list{display:grid;gap:12px;margin:18px 0}.project-card{display:flex;gap:16px;align-items:flex-start;border:1px solid #d1d5c9;background:#fffdf7;padding:16px 14px}.project-card.complete{border-color:#bc8677;background:#fff6ee}.project-meter{flex:0 0 60px;width:60px;text-align:center}.project-meter svg{width:60px;height:60px;display:block}.project-meter path{fill:#e8e9df;stroke:#fdfbf4;stroke-width:1.8}.project-meter path.filled{fill:var(--red)}.project-meter>span{display:block;margin-top:4px;font-size:.7rem;font-weight:800;color:#6b6458}.project-copy{min-width:0;flex:1}.project-copy>strong{display:block;font-size:.8rem;line-height:1.5}.project-name{width:100%;min-width:0;padding:0 0 6px;border:0;border-bottom:1px solid #d3d3c6;background:transparent;font-size:.79rem;color:#232e24;font-weight:700}.project-copy>small{display:block;margin:8px 0 10px;font-size:.62rem;color:#76806f;line-height:1.5}.project-copy .clock-pips{gap:10px;margin:12px 3px 7px}.project-copy .clock-pips button{width:22px;height:22px;padding:0;border-color:#8a9685}.project-copy .text-link{font-size:.62rem;color:#9e4235;padding:7px 0 0}.project-add{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #d3d5c9}.project-add label:first-child{grid-column:1/-1}.project-add label{display:grid;gap:7px;min-width:0}.project-add label>span{font-size:.65rem;font-weight:700;color:#6a7463}.project-add input,.project-add select{width:100%;min-width:0;border:1px solid #b8c0af;background:#fffdf7;padding:10px;font-size:.75rem;color:#273225}.project-add select{max-width:130px}.project-add .secondary{font-size:.68rem;min-height:40px}.table-paper.projects-section{margin-top:20px;padding-top:20px}
@media(max-width:620px){.crew-edit-bar{flex-direction:column;align-items:stretch;padding:16px;gap:13px}.crew-edit-bar .primary,.crew-edit-bar .secondary{align-self:flex-start}.project-card{padding:14px 11px;gap:12px}.project-meter,.project-meter svg{width:50px}.project-meter{flex-basis:50px}.project-meter svg{height:50px}.project-copy .clock-pips button{width:20px;height:20px}.project-copy .clock-pips{gap:10px}.project-name{font-size:.75rem}}
.atlas{color:#e9e5dc}.atlas-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:25px 0 22px}.atlas-heading h1{font-family:Georgia,serif;font-weight:400;font-size:2.6rem;margin:7px 0}.atlas-heading p{color:#b8b9b3;font-size:.85rem;margin:0}.atlas-legend{display:flex;gap:20px;font-size:.75rem;white-space:nowrap}.atlas .blue{color:#4898e7}.atlas .red{color:#e55a4e}.atlas-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px;background:#101718;border:1px solid #414743;border-top:2px solid var(--red)}.atlas-toolbar label{display:grid;gap:5px;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#b9b8ae}.atlas-toolbar select{background:#202827;color:#f3eee3;border:1px solid #4d5650;padding:9px 12px;font:inherit;font-size:.8rem;letter-spacing:0;text-transform:none;max-width:260px}.atlas-tools{display:flex;gap:3px}.atlas-tools button,.atlas-zoom button{background:transparent;color:#e1ded4;border:1px solid #49504b;padding:10px 12px;font-size:.75rem;cursor:pointer;min-height:41px}.atlas-tools button[aria-pressed=true]{border-color:#e05b50;background:#8e2322;color:#fff}.atlas-tools b{font-size:1.1rem;margin-right:4px}.atlas-zoom{display:flex;align-items:center;gap:6px;margin-left:auto}.atlas-zoom-value{font-size:.7rem;min-width:44px;text-align:center;font-variant-numeric:tabular-nums}.atlas-zoom button{font-size:1rem}.atlas-zoom button:last-child{font-size:.7rem}.atlas-layout{display:grid;grid-template-columns:minmax(300px,2fr) minmax(0,3fr);border:1px solid #414743;border-top:0}.atlas-map-column{min-width:0;background:#111817}.atlas-viewport{height:min(73vh,850px);min-height:430px;position:relative;overflow:hidden;touch-action:none;user-select:none;background:radial-gradient(ellipse at center,#36392e 0,#101716 80%);cursor:grab;isolation:isolate}.atlas-viewport:active{cursor:grabbing}.atlas-viewport[data-tool=marker]{cursor:crosshair}.atlas-viewport[data-tool=draw]{cursor:crosshair}.atlas-viewport[data-tool=erase]{cursor:cell}.atlas-world{position:absolute;left:50%;top:50%;transform-origin:center}.atlas-world>img{display:block;width:100%;height:100%;pointer-events:none;max-width:none;box-shadow:0 10px 50px #0008}.atlas-strokes,.atlas-points{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.atlas-stroke,.atlas-preview{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.atlas-stroke.red{stroke:#c23530}.atlas-stroke.blue{stroke:#2976c4}.atlas-viewport[data-tool=erase] .atlas-stroke{pointer-events:stroke;cursor:cell}.atlas-viewport[data-tool=erase] .atlas-stroke.editable:hover{stroke:#fff;filter:drop-shadow(0 0 3px #c4312b)}.atlas-point{position:absolute;transform:translate(-50%,-50%) rotate(45deg);transform-origin:center;width:27px;height:27px;border:2px solid #fff4db;background:#442b20;box-shadow:0 2px 8px #000a;color:#fff;font:700 12px Georgia,serif;display:grid;place-items:center;padding:0;pointer-events:auto;cursor:help;transition:background .15s}.atlas-point span{transform:rotate(-45deg)}.atlas-point:hover,.atlas-point:focus-visible{background:#b32725;outline:3px solid #e0bc73;z-index:2}.atlas-marker.red{background:#c23530;color:white}.atlas-marker.blue{background:#2976c4;color:white}.atlas-marker span{font-size:19px}.atlas-viewport[data-tool=draw] .atlas-point{pointer-events:none}.atlas-hover{position:absolute;z-index:5;pointer-events:none;background:#fbf4e7;color:#241d17;padding:10px 14px;border-left:3px solid #b82c27;font-size:.75rem;max-width:210px;box-shadow:0 5px 20px #0007}.atlas-map-footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid #414743;color:#b4b7ab;font-size:.64rem;line-height:1.6}.atlas-save-status{color:#d2b38b}.atlas-detail{min-width:0;background:#f4f0e5;color:#252923;padding:25px 23px;overflow-y:auto;max-height:calc(min(73vh,850px) + 70px);min-height:430px;scrollbar-color:#8c8170 #e7e0d3}.atlas-detail h2{font:400 1.7rem/1.15 Georgia,serif;margin:12px 0 19px}.atlas-prose{font-size:.9rem;line-height:1.85;overflow-wrap:anywhere}.atlas-prose h3{font:400 1.25rem/1.3 Georgia,serif;margin:25px 0 12px;color:#702722}.atlas-prose p{margin:0 0 17px}.atlas-prose strong{color:#34372b}.atlas-prose ul{padding-left:20px}.atlas-prose hr{border:0;border-top:1px solid #c8c0b0;margin:20px 0}.atlas-author{display:block;color:#787668;font-size:.7rem;margin-bottom:16px}.atlas-detail>.secondary,.atlas-detail>.primary{margin-top:15px}.atlas-table{overflow:auto} .atlas-table td{padding:8px;border:1px solid #cbc4b5;min-width:120px}.atlas-library{border:1px solid #414743;border-top:0;padding:18px 22px;background:#171f1e}.atlas-library summary{cursor:pointer;color:#ddd5c7;font-size:.85rem}.atlas-article-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.atlas-article-list button{text-align:left;color:#d0caba;font-size:.78rem;line-height:1.6}.atlas-marker-form{display:grid;gap:18px}.atlas-marker-form label{display:grid;gap:8px;font-size:.78rem}.atlas-marker-form input,.atlas-marker-form textarea{background:#fffcf6;border:1px solid #b9b6a7;padding:11px;font:inherit;width:100%;box-sizing:border-box;color:#292d25}.atlas-loading{padding:60px;text-align:center;color:#d6cdbb;font:1.5rem Georgia,serif}.atlas button:focus-visible{outline:2px solid #e7b878;outline-offset:3px}
@media(max-width:1050px){.atlas-layout{grid-template-columns:minmax(260px,2fr) minmax(0,3fr)}.atlas-toolbar{gap:10px}.atlas-zoom{margin-left:0}.atlas-tools button{padding:9px}.atlas-detail{padding:22px 18px}}@media(max-width:740px){.atlas-layout{grid-template-columns:1fr}.atlas-heading{align-items:start;flex-direction:column}.atlas-heading h1{font-size:2.1rem}.atlas-viewport{height:62vh;min-height:370px}.atlas-detail{min-height:180px;max-height:60vh;border-top:2px solid #9c2d28}.atlas-tools{flex-wrap:wrap}.atlas-toolbar{padding:12px}.atlas-article-list{grid-template-columns:1fr}.atlas-map-select{width:100%}.atlas-map-select select{max-width:100%}.atlas-legend{font-size:.7rem}.atlas-map-footer{font-size:.6rem}}@media(prefers-reduced-motion:reduce){.atlas-point{transition:none}}
.stage-navigator{grid-column:1/-1;background:#101716e8;border:1px solid #444b44;border-top:2px solid #aa302b;padding:18px 20px;color:#eee7da}.stage-caption{display:flex;gap:18px;align-items:baseline;margin-bottom:15px}.stage-caption strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.stage-caption>span{font-size:.7rem;color:#aaa99e}.stage-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stage-card{display:flex;gap:13px;padding:15px;border:1px solid #414b43;position:relative;background:#1b2320}.stage-card.current{border-color:#d2473e;background:linear-gradient(110deg,#572524,#26241f)}.stage-number{font:1.5rem Georgia,serif;color:#9a8a72}.stage-card.current .stage-number{color:#ef7162}.stage-card strong{font:1.2rem Georgia,serif;display:block}.stage-card small{display:block;font-size:.65rem;color:#b8b4a6;line-height:1.6;margin:6px 0}.stage-current{display:inline-block;color:#ffd3a8;text-transform:uppercase;letter-spacing:.15em;font-size:.6rem;margin-top:8px}.stage-change{background:#eee7d8;border:1px solid #eee7d8;color:#342b22;padding:9px 12px;font-size:.7rem;font-weight:700;cursor:pointer;margin-top:8px;text-align:left}.stage-change:hover{background:#fff5e2;border-color:#cf5c47}.stage-change:focus-visible{outline:2px solid #ec8c71;outline-offset:3px}.stage-next{margin-top:16px}.stage-note{margin:13px 0 0;font-size:.7rem;color:#bdb7a7}@media(max-width:740px){.stage-track{grid-template-columns:1fr}.stage-navigator{padding:15px}.stage-caption{align-items:start;flex-direction:column;gap:6px}.stage-card{padding:12px}.stage-change{min-height:40px}.stage-card small{margin:4px 0}}
.atlas-selection-hint{font-size:.68rem;color:#8b4134;border-bottom:1px solid #d3cbbb;padding:0 0 12px;margin:0 0 18px;line-height:1.6}
.sheet-rule-tooltip{position:fixed;z-index:1000;box-sizing:border-box;width:min(460px,calc(100vw - 24px));max-height:min(65vh,560px);overflow:auto;background:#faf6eb;color:#25291f;border:1px solid #b6aa95;border-top:3px solid #b52f2b;box-shadow:0 12px 45px #0008;padding:20px 22px;scrollbar-color:#9b8b71 #eee6d7;user-select:text}.sheet-rule-tooltip[hidden]{display:none}.sheet-rule-tooltip-title{font:400 1.35rem/1.2 Georgia,serif;margin-bottom:12px;color:#6e2521}.sheet-rule-tooltip-copy{font-size:.82rem;line-height:1.8;overflow-wrap:anywhere}.sheet-rule-tooltip-copy p{margin:0 0 13px}.sheet-rule-tooltip-copy strong{font-weight:700;color:#2d3225}.sheet-rule-tooltip-source{margin-top:15px;padding-top:12px;border-top:1px solid #d4c9b5;color:#81715c;font-size:.66rem;line-height:1.6}[data-sheet-hint]{cursor:help}[data-sheet-hint] input,[data-sheet-hint] textarea{cursor:text}[data-sheet-hint] button,[data-sheet-hint] summary{cursor:pointer}[data-sheet-hint]:focus-visible{outline:2px solid #b94035;outline-offset:3px}@media(max-width:600px){.sheet-rule-tooltip{max-height:55vh;padding:16px 18px}.sheet-rule-tooltip-copy{font-size:.85rem}}
.sheet-hint-label,span[data-sheet-hint],strong[data-sheet-hint]{width:fit-content;max-width:100%;justify-self:start}.action-name[data-sheet-hint]{flex:0 1 auto;width:fit-content}
.ruled-field select,.wizard-field select{width:100%;min-width:0;padding:8px 6px;border:0;border-bottom:1px solid #a9b3a7;background:#f9f6ee;color:var(--ink);font:inherit;font-size:.8rem}.wizard-field select{border:1px solid #b9b8a7;padding:12px}.contact-select-fields{display:grid;gap:8px}.wizard-fields>.contact-select-fields{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:20px}.selection-excerpt{font-size:.73rem;line-height:1.7;color:#59634f;margin:8px 0 18px}.selection-excerpt p{margin:0 0 8px}.rating-diamond{display:inline-block;flex:0 0 10px;width:10px;height:10px;box-sizing:border-box;transform:rotate(45deg);border:1px solid #8b9788;background:transparent}.rating-diamond.is-filled{background:var(--red);border-color:var(--red-deep)}.rule-select.multi-diamonds,.rule-status.multi-diamonds{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;height:auto;min-height:32px;padding:7px 0}.multi-diamonds::before{display:none!important}.multi-diamonds .rating-diamond{width:21px;height:21px;flex-basis:21px;border-width:1.5px}.rule-select.multi-diamonds:hover .rating-diamond{border-color:var(--red)}.roll-skill-grid button{display:flex;justify-content:space-between;align-items:center;gap:10px}.roll-rating{display:inline-flex;gap:6px;align-items:center;min-height:14px;padding:2px}.roll-rating .rating-diamond{width:8px;height:8px;flex-basis:8px}.atlas-point.pinned{background:#9a2924;outline:3px solid #edc378;box-shadow:0 0 0 6px #302417b3,0 4px 15px #000a;z-index:3}@media(max-width:650px){.wizard-fields>.contact-select-fields{grid-template-columns:1fr}.multi-diamonds .rating-diamond{width:19px;height:19px;flex-basis:19px}}
.identity-col .ruled-field{grid-template-columns:minmax(0,1fr);gap:5px;padding:10px 2px}.identity-col .ruled-field>span{white-space:normal;overflow-wrap:anywhere;padding-top:0}.identity-col .ruled-field input,.identity-col .ruled-field textarea,.identity-col .ruled-field select{min-width:0;max-width:100%;box-sizing:border-box}.contact-choice{min-width:0}.contact-choice .selection-excerpt{margin:8px 2px 14px}.wizard-field input[list]{width:100%;min-width:0;box-sizing:border-box;padding:12px;border:1px solid #b9b8a7;background:#f9f6ee;color:var(--ink);font:inherit;font-size:.8rem}.ruled-field input[list]{min-width:0;max-width:100%;box-sizing:border-box}
.atlas-viewport.overlays-hidden .atlas-points,.atlas-viewport.overlays-hidden .atlas-strokes,.atlas-viewport.overlays-hidden .atlas-hover{display:none!important}.atlas-overlay-toggle{padding:10px 12px;min-height:41px;background:#202827;border:1px solid #586150;color:#ece4d4;font-size:.73rem;cursor:pointer}.atlas-overlay-toggle[aria-pressed=false]{border-color:#c29d69;color:#edc791}.atlas-toolbar button:disabled,.atlas-toolbar select:disabled{opacity:.4;cursor:default}
.rule-accordion summary>span{min-width:0;overflow-wrap:anywhere}.rule-accordion summary>small{white-space:normal;flex:0 1 auto;min-width:0;max-width:45%;line-height:1.5;text-align:right}
.session-toolbar.flow-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:16px 0 22px}.flow-header .campaign-heading h1{font-size:clamp(1.8rem,3.5vw,3rem);margin:7px 0 0;line-height:1.15}.flow-header .session-eyebrow{font-size:.65rem;color:#c4bba7;letter-spacing:.12em}.flow-header-tools,.flow-stage-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.flow-header-tools{align-self:start}.flow-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:41px;padding:10px 16px;border:1px solid #606457;background:#202824;color:#f0eadf;font-family:inherit;font-size:.76rem;font-weight:600;line-height:1.35;cursor:pointer;text-align:center}.flow-button.primary{background:#b52e29;border-color:#cf5146;color:#fff}.flow-button.quiet{background:transparent;border-color:#53594f}.flow-button:hover{border-color:#d3a678}.flow-button:disabled{opacity:.4;cursor:default}.flow-button:focus-visible{outline:2px solid #e5b478;outline-offset:3px}.flow-management{position:relative;color:#e8dfcf;font-size:.75rem}.flow-management>summary{border:1px solid #53594f;padding:12px 15px;cursor:pointer;list-style-position:inside}.flow-management>div{position:absolute;right:0;top:calc(100% + 8px);width:min(360px,85vw);z-index:20;background:#17201c;border:1px solid #696b5c;padding:20px;box-shadow:0 10px 30px #0009;display:grid;gap:18px}.flow-management label,.flow-management form{display:grid;gap:9px}.flow-management input,.flow-management select{width:100%;box-sizing:border-box;border:1px solid #737566;background:#f4efe2;padding:10px;color:#252b21;font:inherit}.flow-stage-panel{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #6c5b4b;border-bottom:1px solid #4e574d;padding:20px;background:linear-gradient(100deg,#341e1cba,#14201be6)}.flow-current{min-width:0}.flow-stage-tag{display:block;text-transform:uppercase;letter-spacing:.14em;color:#e96b57;font-size:.6rem;margin-bottom:6px}.flow-current>strong{font:400 1.55rem Georgia,serif;color:#f2e8d8}.flow-current>p{font-size:.76rem;color:#babdad;line-height:1.6;margin:8px 0 0}.flow-role-note{font-size:.7rem;color:#b7b9aa}.flow-phase-path{grid-column:1/-1;display:flex;gap:12px;list-style:none;padding:0;margin:0;overflow:auto;scrollbar-width:thin}.flow-phase-path>li{display:flex;align-items:center;gap:7px;color:#8f9889;font-size:.65rem;white-space:nowrap;padding:3px 0 8px}.flow-phase-path>li>span{font-family:Georgia,serif;color:#aaa28d}.flow-phase-path>li.current{color:#f0d7af;border-bottom:2px solid #c64035}.flow-checklist{grid-column:1/-1;border:1px solid #50594e;color:#d8d6c7;background:#122019ab}.flow-checklist>summary{cursor:pointer;padding:14px 18px;font-size:.77rem;display:flex;justify-content:space-between;gap:15px}.flow-checklist>div{padding:0 18px 17px}.flow-checklist label{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #425044;font-size:.77rem;line-height:1.6}.flow-checklist label small{margin-left:auto;color:#a39984;font-size:.6rem}.flow-checklist input{width:17px;height:17px;accent-color:#b52e29;flex-shrink:0}.flow-workspace{max-width:1100px;margin:24px auto 0}.flow-workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;color:#e8dfcb}.flow-workspace-heading h2{font:400 1.8rem Georgia,serif;margin:0}.flow-workspace-heading label{display:flex;align-items:center;gap:12px;font-size:.73rem}.flow-workspace-heading select{border:1px solid #6d735e;background:#1d2b23;color:#e8dfcb;padding:10px;font:inherit}.flow-paper{background:#f7f2e7;color:#293022;border-top:3px solid #a82d27;padding:24px 28px;margin:0 0 22px;box-shadow:0 4px 14px #0003}.flow-paper h3{font:400 1.5rem/1.25 Georgia,serif;margin:0 0 17px}.flow-paper p{font-size:.8rem;line-height:1.75}.flow-paper-heading{display:flex;justify-content:space-between;gap:15px;align-items:baseline}.flow-paper-heading>strong{font-size:.76rem;color:#9d342a}.flow-form{display:grid;gap:18px}.flow-form>label,.flow-fields>label,.flow-paper label{display:grid;gap:8px;font-size:.76rem;line-height:1.6}.flow-form input:not([type=checkbox]),.flow-form select,.flow-form textarea,.flow-paper>label>input{width:100%;min-width:0;box-sizing:border-box;padding:11px 12px;border:1px solid #aeb5a0;background:#fffdf7;color:#273021;font:inherit}.flow-form .check-row{display:flex;align-items:start;gap:12px}.flow-form .check-row input{accent-color:#ac302a;width:17px;height:17px;margin-top:3px}.flow-form .flow-button,.flow-paper>.flow-button{justify-self:start}.flow-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.flow-cost,.flow-calculation{display:block;padding:12px 15px;background:#e7e6da;font-size:.78rem!important;border-left:3px solid #a13a30}.flow-secondary>summary{cursor:pointer;font-size:.85rem;line-height:1.6;font-weight:700}.flow-secondary>div,.flow-secondary>form{margin-top:18px}.flow-paper .flow-secondary{border:1px solid #c3c5b3;padding:15px}.flow-secondary>div>.flow-button{margin:0 8px 12px 0}.downtime-action-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.downtime-action{display:flex;flex-direction:column;align-items:start;gap:9px;text-align:left;background:#fffdf7;border:1px solid #b3bba8;padding:17px;color:#293723;cursor:pointer}.downtime-action>strong{font:400 1.12rem Georgia,serif}.downtime-action>span{font-size:.71rem;line-height:1.6;color:#64705c}.downtime-action>small{font-size:.6rem;color:#9b4635}.downtime-action.selected{border-color:#b13b2e;background:#faeee4}.downtime-action:disabled{opacity:.5;cursor:default}.resource-balance{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:10px 0;border-bottom:1px solid #c8cdbd;font-size:.78rem}.resource-balance>strong{font-size:1.15rem}.flow-header~.section-nav{margin-top:0}@media(max-width:800px){.session-toolbar.flow-header{grid-template-columns:1fr}.flow-header-tools{justify-content:flex-start}.flow-stage-panel{align-items:start;flex-direction:column;gap:16px;padding:17px}.flow-stage-actions{width:100%}.flow-stage-actions>.primary{flex:1}.flow-fields,.downtime-action-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-paper{padding:20px}.flow-checklist label{align-items:start}.flow-checklist label small{display:none}}@media(max-width:500px){.flow-fields,.downtime-action-cards{grid-template-columns:1fr}.flow-workspace-heading{align-items:start;flex-direction:column}.flow-header .campaign-heading h1{font-size:1.8rem}.flow-button{padding:10px 12px}.flow-paper{padding:18px 16px}}

/* Единая навигация и компактная строка кампании */
.masthead{gap:24px}
#primary-navigation{min-width:0;margin-left:clamp(0px,2vw,32px)}
.primary-nav{gap:clamp(12px,1.8vw,28px)}
.primary-nav button{white-space:nowrap}
.campaign-primary-nav .all-campaigns{color:#aeb8b0;margin-right:8px}
.session-toolbar.compact-campaign-bar{grid-template-columns:minmax(200px,1fr) auto auto;align-items:center;gap:20px;padding:0 0 17px;margin:0 0 22px;border-bottom:1px solid #56605680}
.compact-campaign-bar .campaign-heading h1{font-size:clamp(1.4rem,2.3vw,2.15rem);margin:4px 0 0;line-height:1.15}
.compact-campaign-bar .session-eyebrow{font-size:.57rem;margin:0;letter-spacing:.1em}
.compact-campaign-bar .flow-stage-panel{grid-column:auto;display:flex;gap:16px;align-items:center;padding:0 20px;border:0;border-left:1px solid #69726080;background:none;min-width:0}
.compact-campaign-bar .flow-stage-tag{font-size:.54rem;margin-bottom:5px}
.compact-campaign-bar .flow-current>strong{font-size:1.15rem;display:block;max-width:210px;line-height:1.25}
.compact-campaign-bar .flow-header-tools{align-self:center;flex-wrap:nowrap;gap:8px}
.compact-campaign-bar .flow-button,.compact-campaign-bar .flow-management>summary{min-height:36px;font-size:.67rem;padding:8px 12px;box-sizing:border-box}
.compact-campaign-bar .flow-button.is-current{border-color:#cf5146;color:#ffe9d3;background:#44231e}
.compact-campaign-bar .phase-next{max-width:195px;line-height:1.35}
.compact-campaign-bar .flow-role-note{max-width:115px;line-height:1.45;font-size:.62rem}
.campaign-tools>summary{list-style:none;display:flex;align-items:center;justify-content:center}
.campaign-tools>summary::-webkit-details-marker{display:none}
.campaign-tools .flow-members{font-size:.68rem;color:#acb7a9}
.campaign-tools>div>.flow-button{width:100%}
.flow-stage-details{margin-bottom:24px}
.flow-phase-description{font-size:.8rem;line-height:1.6;color:#c3c8bc;margin:0 0 14px}
.flow-stage-details .flow-phase-path{margin-bottom:14px;gap:18px}
@media(max-width:1250px){
 .masthead{gap:16px;padding-inline:24px}
 #primary-navigation{margin-left:0}.primary-nav{gap:13px}.primary-nav button{font-size:.7rem}
 .brand strong{font-size:1.35rem}.brand .sigil{font-size:2rem}#identity{gap:12px}
 .session-toolbar.compact-campaign-bar{gap:12px}.compact-campaign-bar .flow-stage-panel{padding:0 12px;gap:12px}
}
@media(max-width:1000px){
 .masthead{height:auto;min-height:74px;flex-wrap:wrap;padding-top:10px;padding-bottom:0;gap:8px 20px}
 #identity{margin-left:auto}#primary-navigation{order:3;flex:1 0 100%;overflow:auto}
 .primary-nav{min-height:44px;gap:22px}.primary-nav button::after{bottom:0}.primary-nav button{flex-shrink:0}
 .session-toolbar.compact-campaign-bar{grid-template-columns:minmax(0,1fr) auto}
 .compact-campaign-bar .flow-stage-panel{grid-row:2;grid-column:1/-1;border-left:0;padding:0;justify-content:space-between}
 .compact-campaign-bar .flow-current{display:flex;align-items:baseline;gap:10px}.compact-campaign-bar .flow-current>strong{max-width:none}
 .compact-campaign-bar .phase-next{max-width:none}.compact-campaign-bar .flow-role-note{max-width:none}
}
@media(max-width:500px){
 .masthead{padding-inline:14px}.primary-nav{gap:18px;justify-content:flex-start}
 .campaign-primary-nav .all-campaigns{margin-right:0}.compact-campaign-bar .campaign-heading h1{font-size:1.4rem}
 .compact-campaign-bar .flow-stage-panel{gap:10px}.compact-campaign-bar .flow-current{display:block}
 .compact-campaign-bar .flow-current>strong{font-size:1.05rem}.compact-campaign-bar .phase-next{max-width:170px}
 .compact-campaign-bar .flow-header-tools{gap:6px}.compact-campaign-bar .flow-header-tools>.flow-button{padding:8px 10px}
 .flow-stage-details .flow-phase-path{gap:14px}
}
/* Референс кампании: уголь, сталь и алый, единый контекстный хеддер */
:root{--campaign-art:url('/scene-art/campaign-v3.jpg?v=4dedffc53e1eb07e')}
body{background:#090f10}
body::before{background:linear-gradient(180deg,#050b0d38 0,#081012a6 400px,#080e10ed 85%),linear-gradient(90deg,#060c0deb,#0b11115c 56%,#060b0dd9),var(--campaign-art) center top/cover no-repeat}
.masthead{background:#070e0ff5;border-bottom:1px solid #74786d42;box-shadow:0 4px 22px #0003}
.brand small{color:#ee6357;letter-spacing:.25em}.brand .sigil{color:#e65349}
.primary-nav button.active{color:#f2e9dc}.primary-nav button.active::after{height:3px;background:#da433b}
main{padding-top:18px}
.session-toolbar.compact-campaign-bar{position:relative;isolation:isolate;grid-template-columns:minmax(0,1fr) 290px;grid-template-rows:auto auto;gap:9px 36px;padding:22px 26px;margin:0 0 18px;border-top:1px solid #92917d40;border-bottom:1px solid #92917d50;background:linear-gradient(90deg,#080e10f5 0%,#080e10df 29%,#080e1030 60%,#080e10a6 78%,#080e10fa 85%),var(--campaign-art) center 44%/cover;min-height:148px}
.compact-campaign-bar::before{content:"";position:absolute;top:18px;bottom:18px;left:0;width:3px;background:linear-gradient(transparent,#a53530,transparent);pointer-events:none}
.compact-campaign-bar .campaign-heading{grid-column:1;grid-row:1/3;align-self:center;padding-right:12px}
.compact-campaign-bar .campaign-heading h1{font:400 clamp(1.65rem,2.8vw,2.7rem)/1.12 Georgia,serif;color:#faf4e8;margin:9px 0 14px;text-shadow:0 2px 20px #000;max-width:1000px}
.compact-campaign-bar .session-eyebrow{color:#e26858;font-size:.65rem;letter-spacing:.17em}
.campaign-facts{display:flex;align-items:center;gap:14px;color:#b7bbae;font-size:.69rem;line-height:1.5;flex-wrap:wrap}
.campaign-facts>span+span{border-left:1px solid #6b736455;padding-left:14px}
.compact-campaign-bar .flow-stage-panel{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr;gap:9px;border:0;padding:0;background:none;align-self:end}
.compact-campaign-bar .flow-current{display:block;border-bottom:1px solid #b9b7a542;padding-bottom:8px}
.compact-campaign-bar .flow-stage-tag{color:#e46958;font-size:.58rem;letter-spacing:.12em;margin-bottom:4px}
.compact-campaign-bar .flow-current>strong{font:400 1.3rem/1.2 Georgia,serif;max-width:none;color:#f0ebdf}
.compact-campaign-bar .phase-next{width:100%;max-width:none;min-height:35px;background:linear-gradient(110deg,#c53b32,#a72b27);border-color:#d95346;justify-content:center;font-size:.7rem;box-shadow:inset 0 1px #f27b6340}
.compact-campaign-bar .phase-next:hover{background:#d04437}
.compact-campaign-bar .flow-header-tools{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:7px;align-self:start}
.compact-campaign-bar .flow-header-tools>.flow-button,.compact-campaign-bar .campaign-tools>summary{width:100%;border-color:#86857470;background:#0c1414c9;color:#e9e5d9;min-height:33px}
.compact-campaign-bar .flow-header-tools>.flow-button.is-current{color:#ffb9a4;border-color:#c45040;background:#45231fd9}
.compact-campaign-bar .campaign-tools>summary:hover,.compact-campaign-bar .flow-header-tools>.flow-button:hover{border-color:#cda492;background:#202925}
.campaign-tools>div{border-color:#827565;background:#0e1718;box-shadow:0 15px 45px #000b}
.compact-campaign-bar .flow-role-note{max-width:none;color:#9ea99b;font-size:.62rem}
.sheet-actions{min-height:24px;margin:9px 0 11px;font-size:.67rem;color:#aeb6a9}
.sheet-actions .text-link{font-size:.69rem;color:#d4d5c8}
.game-sheet:not(.wizard-paper){border:1px solid #7e77685e;box-shadow:0 18px 50px #0007}
.game-sheet:not(.wizard-paper)>.sheet-banner{height:176px;padding:25px 38px;background:linear-gradient(90deg,#090d10d9,#0b10123d),var(--campaign-art) center 42%/cover;border-bottom:3px solid #db443b;isolation:isolate}
.sheet-banner .class-pattern{left:auto;right:0;width:52%;height:100%;object-fit:cover;object-position:center 61%;opacity:.84;mask-image:linear-gradient(90deg,transparent,#000 28%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 28%)}
.sheet-banner::after{background:linear-gradient(90deg,#090e10e8 0%,#0b1012b3 40%,#090e1038 70%,#090e1080 100%)}
.sheet-banner::before{content:"";position:absolute;inset:9px;border:1px solid #c1ad8b55;outline:1px solid #a38d6e29;outline-offset:3px;z-index:3;pointer-events:none;background:linear-gradient(#c2ad88,#c2ad88) top left/14px 1px no-repeat,linear-gradient(#c2ad88,#c2ad88) top left/1px 14px no-repeat,linear-gradient(#c2ad88,#c2ad88) bottom right/14px 1px no-repeat,linear-gradient(#c2ad88,#c2ad88) bottom right/1px 14px no-repeat}
.sheet-banner .banner-kicker{color:#f17a68;font-size:.67rem;letter-spacing:.16em;margin-bottom:13px}
.sheet-banner .hero-name{font-size:clamp(2.25rem,3.7vw,3.3rem);line-height:1.1;color:#f8f4e9;border-bottom-color:#c9baa063;text-shadow:0 2px 8px #000;width:min(720px,88%);padding-bottom:7px}
.sheet-banner .hero-meta{color:#d3d3c3;font-size:.71rem;margin-top:10px}
.sheet-banner .banner-seal{font-size:3.6rem;color:#e76153;padding:0 9px;text-shadow:0 2px 24px #000}
.sheet-bar{color:#363a33;background:#e5e2d8;border-left-color:#b83c31}.sheet-footer{border-top:1px solid #716d5f55;color:#a7afa0}
@media(max-width:1000px){
 .session-toolbar.compact-campaign-bar{grid-template-columns:minmax(0,1fr) 240px;padding:18px 20px;gap:8px 20px;min-height:140px}
 .compact-campaign-bar .campaign-heading h1{font-size:clamp(1.5rem,3.5vw,2rem);margin-bottom:12px}
 .compact-campaign-bar .flow-current>strong{font-size:1.15rem}.compact-campaign-bar .flow-header-tools{gap:6px}
 .game-sheet:not(.wizard-paper)>.sheet-banner{height:160px;padding:22px 28px}
}
@media(max-width:650px){
 .session-toolbar.compact-campaign-bar{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:14px;padding:19px 17px;background-position:65% center}
 .compact-campaign-bar .campaign-heading{grid-column:1;grid-row:1;padding-right:0}.compact-campaign-bar .campaign-heading h1{font-size:1.65rem;margin:8px 0 10px}
 .compact-campaign-bar .flow-stage-panel{grid-column:1;grid-row:2;display:flex;justify-content:space-between;align-items:center;gap:15px}
 .compact-campaign-bar .flow-current{border:0;padding:0;min-width:0}.compact-campaign-bar .flow-current>strong{font-size:1.1rem}
 .compact-campaign-bar .phase-next{max-width:180px;width:auto;flex-shrink:0;padding:9px 11px;font-size:.64rem}
 .compact-campaign-bar .flow-header-tools{grid-column:1;grid-row:3;grid-template-columns:1fr 1fr}
 .campaign-facts{font-size:.63rem;gap:10px}.campaign-facts>span+span{padding-left:10px}
 .game-sheet:not(.wizard-paper)>.sheet-banner{height:148px;padding:22px 22px}.sheet-banner .hero-name{font-size:2.15rem;width:100%}
 .sheet-banner .banner-kicker{font-size:.58rem;letter-spacing:.1em}.sheet-banner .class-pattern{width:65%;opacity:.65}.sheet-banner .hero-meta{font-size:.64rem}
}
@media(prefers-reduced-motion:reduce){.compact-campaign-bar .flow-button{transition:none}}
/* Плоская графика обложки: без металлических бликов и объёмных кнопок */
.compact-campaign-bar .phase-next{background:#ba352e;box-shadow:none}
.compact-campaign-bar .phase-next:hover{background:#d44337}
.compact-campaign-bar .campaign-heading h1,.sheet-banner .hero-name,.sheet-banner .banner-seal{text-shadow:none}
.sheet-banner::before{border-color:#9c9d895c;outline-color:#94958029}
.session-toolbar.compact-campaign-bar{padding-top:16px;padding-bottom:16px}
@media(max-width:650px){.session-toolbar.compact-campaign-bar{padding:18px 17px}}
/* Правила текущего этапа в режиме листа */
.flow-rules .flow-rule-section{border-top:1px solid #c8c7bb;padding:10px 0}
.flow-rules .flow-rule-section>summary{font-size:1rem;min-height:36px}
.flow-rules .flow-rule-copy{font-size:.95rem;line-height:1.75;padding:16px 0 8px}
.flow-rules .flow-rule-copy p,.flow-rules .flow-rule-copy li{font-size:inherit;line-height:inherit}
.flow-rules .flow-rule-copy ul,.flow-rules .flow-rule-copy ol{padding-left:24px;margin:12px 0}
.flow-rules .flow-rule-copy li+li{margin-top:9px}
.flow-rules .flow-rule-copy h2,.flow-rules .flow-rule-copy h3{font:400 1.25rem Georgia,serif;margin:20px 0 12px}
.flow-rules .flow-rule-copy .flow-rule-source{font-size:.75rem;color:#69716c;margin-top:18px}

/* Ход игры поверх текущего раздела */
html.flow-modal-open{overflow:hidden;scrollbar-gutter:stable}
#flow-modal-root{position:relative;z-index:90}.flow-modal-shade{z-index:90;padding:24px}
.flow-dialog{display:flex;flex-direction:column;width:min(1060px,100%);max-height:calc(100dvh - 48px);background:#111c1d;color:#e9e3d6;border:1px solid #82735e;border-top:3px solid #bf4035;box-shadow:0 22px 75px #0009}
.flow-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:0 0 auto;padding:18px 24px;border-bottom:1px solid #82735e77}
.flow-dialog-heading h2{font:400 1.9rem Georgia,serif;margin:6px 0 0}.flow-dialog-heading .kicker{font-size:.65rem}
.flow-dialog-close{align-self:flex-start;display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:0;background:transparent;color:#d4b98c;border:1px solid #82735e;font-size:1.6rem;cursor:pointer}
.flow-dialog-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px;scrollbar-width:thin;scrollbar-color:#9e8760 #172323}.flow-dialog-scroll::-webkit-scrollbar{width:8px}.flow-dialog-scroll::-webkit-scrollbar-track{background:#172323}.flow-dialog-scroll::-webkit-scrollbar-thumb{background:#9e8760;border:2px solid #172323;border-radius:5px}
.flow-dialog .flow-workspace{margin:0}.flow-dialog-close:focus-visible{outline:2px solid #d4b98c;outline-offset:3px}
@media(max-width:600px){.flow-modal-shade{padding:10px}.flow-dialog{max-height:calc(100dvh - 20px)}.flow-dialog-heading{padding:14px 16px}.flow-dialog-scroll{padding:14px 12px}.flow-dialog-heading h2{font-size:1.55rem}}

/* Isolated art frame: legacy portrait sizing, offsets and clipping do not apply. */
.roster-card>.class-card-art{display:block;position:relative;align-self:stretch;width:auto;height:auto;min-width:0;aspect-ratio:3 / 1;flex:none;margin:0 -22px 16px;padding:0;border:0;overflow:visible;background:#101414}
.roster-card>.class-card-art>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;object-fit:contain;object-position:50% 50%;opacity:1;transform:none;transition:none}
.roster-card:hover>.class-card-art>img{transform:none}

.ledger-target{margin-top:14px;padding-top:10px;border-top:1px solid #b8b9aa66}.ledger-target>strong{font-size:.85rem}.ledger-delta{display:inline-block;min-width:2.2em;margin-right:6px;color:#98392d}.ledger-entry .ledger-changes dd{overflow-wrap:anywhere}

/* Map annotations use transparent, retina-sized artwork outside the zoomed map. */
.atlas .atlas-point.atlas-marker{width:36px;height:40px;border:0;padding:0;transform:translate(-50%,-50%);background:transparent center/contain no-repeat;box-shadow:none;filter:none;cursor:pointer}
.atlas .atlas-point.atlas-marker.blue{background-image:url('/map-markers/blue-v2.webp')}
.atlas .atlas-point.atlas-marker.red{background-image:url('/map-markers/red-v2.webp')}
.atlas .atlas-point.atlas-marker span{display:none}
.atlas .atlas-point.atlas-marker:hover,.atlas .atlas-point.atlas-marker:focus-visible,.atlas .atlas-point.atlas-marker.pinned{background-color:transparent;outline:0;box-shadow:none;filter:drop-shadow(0 0 3px #edc378)}
.atlas .atlas-point.atlas-marker:focus-visible{outline:2px solid #edc378;outline-offset:3px}
