/* A camp folio with an illustrated path, a real practice table, and readable tradeoffs. */
#companion-progress{margin:16px 0;min-width:0}#companion-progress[hidden]{display:none}
.cp-dialog{width:min(1120px,calc(100vw - 28px));height:min(940px,calc(100dvh - 26px));max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #c2b589;border-radius:18px;overflow:hidden;background:#21382e;color:#efe8cb;font-family:inherit;box-shadow:0 35px 120px #000b}
.cp-dialog[open]{display:flex;flex-direction:column;animation:cp-open .24s ease-out both}.cp-dialog::backdrop{background:#07120be0;backdrop-filter:blur(7px)}.cp-dialog *,.cp-progress-card *{box-sizing:border-box}.cp-dialog [hidden]{display:none!important}
.cp-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 25px 16px;flex:none;background:radial-gradient(ellipse at 85% 5%,#d2c18b1c,transparent 65%),linear-gradient(115deg,#324c3b,#1d322b);border-bottom:1px solid #c3c19527}
.cp-eyebrow{display:block;font-size:11px;line-height:1.6;letter-spacing:1.25px;font-weight:600;color:#d1cda5}.cp-heading h2{font:400 31px/1.22 Georgia,'Times New Roman',serif;letter-spacing:-.4px;color:#f2e8c7;margin:4px 0 6px}.cp-heading p{font-size:14px;line-height:1.65;color:#c3d0bd;margin:0;max-width:800px}
.cp-close{display:grid;place-items:center;min-width:44px;min-height:44px;width:44px;height:44px;flex:none;border:1px solid #c3c69b55;border-radius:50%;background:#152e25;color:#ebe6ba;font-size:28px;padding:0;line-height:1}.cp-close:hover{border-color:#e4d7a0;background:#43543a}
.cp-close:focus-visible,.cp-dialog button:focus-visible,.cp-progress-card button:focus-visible{outline:3px solid #ddaf5b;outline-offset:3px}
.cp-roster{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;flex:none;padding:9px 25px 7px;background:#223a2d;border-bottom:1px solid #b6bd8b24;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#758866 #243b2e}
.cp-roster-member{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0;min-height:94px;padding:3px 5px 7px;border:1px solid transparent;border-radius:10px;color:#ced9bf;background:transparent;text-align:center;transition:background .15s,border-color .15s}.cp-roster-member:hover{background:#bdc18d10;border-color:#bbc49755}.cp-roster-member[aria-pressed=true]{border-color:var(--cp-person);background:radial-gradient(ellipse at 50% 40%,#d6d09b27,transparent 95%);color:#f8ebc4}
.cp-roster-portrait{display:block;width:57px;height:63px;flex:none}.cp-roster-portrait>svg{width:100%;height:100%;filter:drop-shadow(0 3px 2px #0a1b1a66)}.cp-roster-member.is-unmet .cp-roster-portrait{opacity:.8}.cp-roster-member strong{font-size:12px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}.cp-roster-mark{position:absolute;right:7px;top:7px;color:var(--cp-person);font-size:13px}
.cp-tabs{display:flex;gap:4px;padding:0 24px;flex:none;background:#243a2d;border-bottom:1px solid #779067}.cp-tabs>button{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;min-height:48px;padding:12px 19px;border:0;border-radius:8px 8px 0 0;background:transparent;color:#c8d0b8;font-size:14px;line-height:1.5}.cp-tabs>button>svg{width:18px;height:18px;flex:none}.cp-tabs>button[aria-selected=true]{background:#aabb7618;color:#f4e9bb}.cp-tabs>button[aria-selected=true]::after{content:'';position:absolute;left:15px;right:15px;height:2px;bottom:-1px;border-radius:3px;background:#e0cb8a}
.cp-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#83916d #e6dcc0;background:radial-gradient(ellipse at 2% 3%,#fff9dc90,transparent 65%),linear-gradient(105deg,#e0d5b6,#f0e7cf 50%,#e5dcc0)}
.cp-content{padding:23px 25px 21px;color:#30493a;outline-offset:-4px;min-width:0}.cp-content h3,.cp-content h4,.cp-content p{margin-top:0}.cp-content p{font-size:14px;line-height:1.8}.cp-content h4{font-size:18px;line-height:1.4;font-weight:600;color:#284737;margin-bottom:8px}.cp-content .cp-eyebrow{color:#65744d}
.cp-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:10px 16px;border:1px solid #748760;border-radius:8px;background:#efe7ca;color:#324c39;font:inherit;font-size:14px;font-weight:500;line-height:1.5;text-align:center;cursor:pointer;transition:background .15s,border-color .15s;overflow-wrap:anywhere}.cp-button>svg{width:18px;height:18px;flex:none}.cp-button:hover{background:#fff5d7;border-color:#3d6649}
.cp-button.cp-primary{background:linear-gradient(130deg,#4c6948,#31543d);color:#fcf2d0;border-color:#405c38;box-shadow:0 3px 0 #263e3029,inset 0 1px #bdd59b44}.cp-button.cp-primary:hover{background:linear-gradient(135deg,#5c7a4f,#3f6649);border-color:#638855}.cp-button.cp-secondary{background:#dadfc0;color:#365139;border-color:#80906a}.cp-button.cp-quiet{background:transparent;border-color:#81946850;color:#4b6445}.cp-button.cp-quiet:hover{background:#536f3620}.cp-button:disabled{opacity:.46;cursor:not-allowed;box-shadow:none}
.cp-link-row,.cp-turn-controls{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:18px}.cp-link-row{border-top:1px solid #9da98066;padding-top:16px}.cp-main-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 3px}.cp-main-action>span{font-size:12px;line-height:1.7;color:#687852;max-width:300px}
.cp-progress-card{display:flex;align-items:center;gap:18px;min-width:0;padding:14px 19px 14px 8px;border:1px solid #adb38752;border-radius:15px;background:radial-gradient(ellipse at 5% 55%,#bacc9330,transparent 52%),linear-gradient(105deg,#293e34,#20342f);color:#e9e7ca;box-shadow:0 8px 28px #061b1220;overflow:hidden}.cp-progress-card.has-arrival{border-color:#d7c388;background:radial-gradient(ellipse at 8% 52%,#e9c48229,transparent 52%),linear-gradient(105deg,#374532,#223832)}
.cp-progress-portrait{width:87px;height:99px;display:block;flex:none;position:relative}.cp-progress-portrait::before{content:'';position:absolute;inset:13px 1px -2px;border-radius:50%;background:radial-gradient(ellipse,#e3d19328,transparent 69%)}.cp-progress-portrait>svg{position:relative;width:100%;height:100%;filter:drop-shadow(0 5px 4px #04150e66)}
.cp-progress-copy{flex:1;min-width:0}.cp-progress-copy h3{font:400 23px/1.3 Georgia,'Times New Roman',serif;color:#f0e7c5;margin:4px 0 6px}.cp-progress-copy p{font-size:14px;line-height:1.65;color:#c4d0bb;margin:0;max-width:630px}.cp-progress-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;max-width:335px}.cp-progress-card .cp-button.cp-secondary{background:#425740;color:#f0e9c7;border-color:#abb9856b}.cp-progress-card .cp-button.cp-quiet{color:#c9d5b9;border-color:transparent}.cp-progress-card .cp-button.cp-primary{background:#d9ca95;color:#273f30;border-color:#e3d2a0}
.cp-person-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:243px;padding:27px 32px;color:#f0e8cb;overflow:hidden;border:1px solid #74866a99;border-radius:13px;background:#244638}.cp-person-landscape{position:absolute;inset:-18% -2% -9%;z-index:-3;opacity:.66}.cp-person-landscape>svg{width:100%;height:100%}.cp-person-hero::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(100deg,#19372e 10%,#1c3c32ed 46%,#19332850 90%)}.cp-person-hero::after{content:'';position:absolute;inset:10px;border:1px solid #e0d7a834;border-radius:7px;z-index:-1;pointer-events:none}
.cp-person-copy{max-width:70%;position:relative;z-index:2}.cp-person-copy .cp-eyebrow{color:#d7d1a3}.cp-person-copy h3{font:400 41px/1.15 Georgia,'Times New Roman',serif;color:#f5eac4;margin:8px 0 11px}.cp-person-copy p{max-width:570px;font-size:16px;line-height:1.7;color:#d4dfc9;margin:0 0 15px}.cp-unlock-label{display:inline-flex;align-items:flex-start;gap:7px;font-size:12px;line-height:1.7;color:#e7dbaa}.cp-unlock-label>svg{width:17px;height:17px;margin-top:2px;flex:none}
.cp-person-art{position:absolute;right:12px;bottom:1px;width:30%;max-width:238px;height:239px}.cp-person-art::before{content:'';position:absolute;inset:15% 1% 3%;background:radial-gradient(ellipse,#e4cd6b28,transparent 70%);border-radius:50%}.cp-person-art>svg{position:relative;width:100%;height:100%;filter:drop-shadow(0 8px 6px #021c1466)}
.cp-next-step{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:19px 0 16px;padding:18px 20px;border:1px solid #8e9c6c77;border-radius:10px;background:linear-gradient(120deg,#e8e8cbbb,#fff4da65)}.cp-next-step h4{font-size:21px;margin:5px 0}.cp-next-step p{margin:0;color:#60734f}.cp-next-step>.cp-button{max-width:310px;flex:none}
.cp-journey-path{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:14px 0;margin:0 0 13px}.cp-journey-path li{position:relative;display:flex;flex-direction:column;align-items:center;gap:11px;min-width:0;text-align:center;padding:0 6px}.cp-journey-path li:not(:last-child)::after{content:'';position:absolute;left:calc(50% + 21px);right:calc(-50% + 21px);top:18px;height:1px;background:#9aa68177}.cp-journey-path li.is-complete:not(:last-child)::after{background:#79945b}.cp-step-node{display:grid;place-items:center;width:37px;height:37px;border:1px solid #859673;border-radius:50%;background:#dbe0be;color:#657b4f;font-size:13px;font-weight:600;z-index:1}.cp-journey-path .is-complete .cp-step-node{background:#456640;color:#f3e8b7;border-color:#40623b;box-shadow:0 0 0 4px #76955516}.cp-journey-path strong{font-size:14px;line-height:1.55;font-weight:500;display:block;color:#38523b}.cp-journey-path small{font-size:11px;line-height:1.6;color:#73835c;display:block;margin-top:4px}
.cp-endnote{display:flex;gap:8px;align-items:flex-start;font-size:12px!important;line-height:1.75!important;color:#677650;margin:15px 0 0}.cp-endnote>svg{width:16px;height:16px;margin-top:2px;flex:none}.cp-growth-note{display:flex;align-items:flex-start;gap:13px;padding:19px 20px;background:#6e864814;border-left:3px solid #849c5e;border-radius:0 9px 9px 0;margin:19px 0}.cp-growth-icon{display:grid;place-items:center;flex:none;width:35px;height:35px;border:1px solid #91a7698a;border-radius:50%;background:#e5e4bd;color:#6c8349}.cp-growth-icon>svg{width:21px;height:21px}.cp-growth-note h4{font-size:17px;margin:0 0 5px}.cp-growth-note p{margin:0;color:#526c47}
.cp-conversation{position:relative;overflow:hidden;border:1px solid #7a8d6c99;border-radius:13px;background:#223d31;color:#f1e8c9}.cp-conversation-art{position:relative;height:285px;isolation:isolate;overflow:hidden}.cp-scene-landscape{position:absolute;inset:-15% 0 -25%;z-index:-3;opacity:.63}.cp-scene-landscape>svg{width:100%;height:100%}.cp-conversation-art::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#183b3455,#17322908 30%,#183329a0 90%);z-index:-2}.cp-conversation-art::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:62px;background:linear-gradient(transparent,#213b30);z-index:3}
.cp-scene-moon{position:absolute;width:99px;height:99px;top:28px;left:calc(50% - 49px);border-radius:50%;background:radial-gradient(circle,#e8dfa527,#e6d9a010 60%,transparent 67%);box-shadow:0 0 70px #e7d78719}.cp-scene-actor{position:absolute;bottom:1px;width:170px;height:223px;opacity:.67;filter:brightness(.84)}.cp-scene-actor.is-speaking{opacity:1;filter:drop-shadow(0 0 22px #ead28c1d);animation:cp-character-arrive .35s ease-out both}.cp-scene-actor>svg{width:100%;height:100%}.cp-scene-left{left:calc(50% - 237px);transform:rotate(-2deg)}.cp-scene-right{right:calc(50% - 237px);transform:rotate(2deg)}.cp-scene-lantern{position:absolute;width:134px;height:177px;bottom:0;left:calc(50% - 67px)}.cp-lantern-art{width:100%;height:100%;filter:drop-shadow(0 0 25px #e9be531a)}
.cp-scene-heading{position:absolute;left:22px;top:20px;max-width:60%;text-shadow:0 2px 9px #082016}.cp-scene-heading .cp-eyebrow{color:#e6d9a4}.cp-scene-heading h3{font:400 31px/1.3 Georgia,'Times New Roman',serif;margin:6px 0;color:#f1e8c4}.cp-dialogue{position:relative;display:flex;gap:18px;align-items:flex-start;padding:19px 26px 13px;min-height:139px;border-top:1px solid #c7c5943b;background:linear-gradient(100deg,#314d3a,#213a30)}.cp-speaker-portrait{width:54px;height:65px;display:block;flex:none;overflow:hidden;border-bottom:1px solid #9db58388}.cp-speaker-portrait>svg{width:100%;height:100%}.cp-dialogue>div{min-width:0;flex:1}.cp-dialogue strong{font-size:14px;font-weight:500;color:#e2d89f;display:block;margin:0 0 9px}.cp-dialogue p{font-size:17px;line-height:1.9;color:#efe8ca;margin:0;max-width:780px}
.cp-scene-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 25px 18px;background:#213a2e}.cp-scene-controls .cp-button.cp-primary{background:#dfd4a2;color:#2e4534;border-color:#eee0af}.cp-scene-controls .cp-button.cp-quiet{color:#c6d4b8;border-color:#718c586b}.cp-icon-button{padding:9px 14px}.cp-scene-pagination{display:flex;flex-direction:column;gap:7px;text-align:center}.cp-scene-pagination small{font-size:12px;color:#c4d4b4}.cp-scene-pagination>span{display:flex;justify-content:center;gap:5px}.cp-scene-pagination i{display:block;width:21px;height:3px;background:#6c82537a;border-radius:3px}.cp-scene-pagination i.is-read{background:#d6c689}.cp-conversation>.cp-endnote{display:block;padding:13px 25px;margin:0;border-top:1px solid #a7b67d22;color:#bfceb0;background:#1c3529}
.cp-practice-intro{margin:23px 0 19px}.cp-practice-intro h4{font:400 25px/1.4 Georgia,'Times New Roman',serif;margin:4px 0 10px}.cp-practice-intro p{color:#556c49;margin-bottom:13px}.cp-sample-rule{font-size:14px;line-height:1.7;color:#47623d;display:block;margin-bottom:9px}.cp-section-heading{margin:0 0 17px}.cp-section-heading h4{margin:0 0 7px}.cp-section-heading p{margin:0;color:#60714e}.cp-branch-section{margin:25px 0 20px}.cp-branch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.cp-branch{position:relative;display:flex;align-items:flex-start;gap:14px;min-width:0;padding:19px 20px 17px 15px;border:1px solid #96a87c;border-radius:12px;background:#f3ecd4;color:#314d39;text-align:left;cursor:pointer;box-shadow:0 4px 14px #41542a06}.cp-branch[aria-pressed=true]{border:2px solid #607e43;padding:18px 19px 16px 14px;background:radial-gradient(ellipse at 0 0,#cddaa052,transparent 80%),#eef0d5;box-shadow:0 0 0 3px #8ea95b16}.cp-branch:hover{border-color:#486b36}.cp-branch-symbol{display:grid;place-items:center;width:38px;height:42px;flex:none;background:#4d6c42;border:1px solid #a8b675;border-radius:8px 8px 14px 14px;color:#efe3ab}.cp-branch-symbol>svg{width:23px;height:23px}.cp-branch-copy{display:flex;flex-direction:column;gap:9px;min-width:0}.cp-branch-copy>strong{font-size:18px;line-height:1.4;color:#375334;padding-right:13px}.cp-branch-copy>span{font-size:14px;line-height:1.75;color:#536b45}.cp-branch-copy>small{font-size:12px;line-height:1.8;color:#63764e}.cp-choice-mark{position:absolute;right:11px;top:10px;color:#608044;font-size:16px}.cp-branch-technique{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:9px;border-top:1px solid #98aa7155}.cp-branch-technique>b{font-size:14px;font-weight:600;color:#385936}.cp-branch:disabled{cursor:default;opacity:.64}
.cp-face-list,.cp-pattern{display:inline-flex;align-items:center;justify-content:center;gap:4px;vertical-align:middle;flex-wrap:nowrap}.cp-face-list>span,.cp-pattern>span{display:grid;place-items:center;width:20px;height:22px;color:#6b7c48;background:#7d934d11;border-radius:4px;border:1px solid #8a9a6850}.cp-face-list svg,.cp-pattern svg{width:14px;height:14px}.cp-pattern{gap:3px}.cp-pattern>span{width:22px;height:24px}.cp-pattern svg{width:16px;height:16px}.cp-always{font-size:11px;line-height:1.6;color:#6b7d55}
.cp-sample-party{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:15px 9px;margin:20px 0;border:1px solid #91a37166;border-radius:11px;background:#556d2f0b}.cp-sample-member{text-align:center;min-width:0;padding:4px}.cp-sample-portrait{display:block;width:73px;height:88px;margin:0 auto 5px}.cp-sample-portrait>svg{width:100%;height:100%}.cp-sample-member>strong{font-size:14px;line-height:1.5;display:block;overflow-wrap:anywhere}.cp-sample-member>small{font-size:11px;line-height:1.5;color:#6b7c54;display:block;margin:4px 0 8px}.cp-sample-member .cp-face-list{gap:2px}.cp-sample-member .cp-face-list>span{width:18px;height:20px}.cp-sample-member.is-candidate{background:#87975415;border-radius:9px;box-shadow:inset 0 0 0 1px #97a76777}
.cp-objective{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border:1px solid #96ab735c;border-left:3px solid #96ad63;border-radius:0 9px 9px 0;background:#819a4020;padding:14px 16px;margin:18px 0 22px}.cp-objective>div{flex:1;min-width:0}.cp-objective p{margin:5px 0 0;color:#4c6840}.cp-objective ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;max-width:350px}.cp-objective li{display:flex;gap:8px;font-size:12px;line-height:1.6;color:#72865b}.cp-objective li>span{flex:none;color:#7c9654}.cp-objective li.is-complete{color:#395e35}.cp-objective.is-complete{border-color:#68964388;background:#90ac4530}.cp-objective-intro{display:flex;gap:9px;align-items:flex-start;color:#506e3e;margin-top:20px}.cp-objective-intro>svg{width:21px;height:21px;flex:none;margin-top:2px}.cp-other-checkpoint{border:1px solid #aa9c6c73;border-radius:9px;background:#c9ab661c;padding:14px 16px;margin-top:18px}.cp-other-checkpoint p{margin:0 0 9px;color:#786b42}
.cp-empty-state{text-align:center;max-width:660px;margin:22px auto;padding:15px 22px}.cp-empty-state>.cp-lantern-art{width:96px;height:126px;margin:0 auto}.cp-empty-state p{color:#577146}.cp-practice-heading{display:flex;gap:15px;align-items:center;min-height:105px;margin:0 0 16px}.cp-practice-emblem{width:80px;height:97px;flex:none;display:block;position:relative}.cp-practice-emblem::before{content:'';position:absolute;inset:10px 0 0;border:1px solid #9aad7366;background:#8ea66417;border-radius:50%}.cp-practice-emblem>svg{position:relative;width:100%;height:100%}.cp-practice-heading h3{font:400 27px/1.25 Georgia,'Times New Roman',serif;margin:5px 0 7px;color:#2e4a36}.cp-practice-heading p{color:#678054;font-size:12px;margin:0}
.cp-battle-meters{display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:center;padding:15px 18px;border:1px solid #819b6877;border-radius:11px;background:#f4efd877}.cp-battle-meters>div>span:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;line-height:1.5;color:#5c7348;margin-bottom:7px}.cp-battle-meters b{font-size:14px;line-height:1.5;color:#304e36;white-space:nowrap}.cp-meter{display:block;height:7px;background:#85985a33;border-radius:5px;overflow:hidden}.cp-meter>span{display:block;width:calc(var(--cp-fill)*100%);height:100%;background:linear-gradient(90deg,#4b784d,#91ad61);border-radius:inherit;transition:width .4s ease-out}.cp-enemy-meter .cp-meter>span{background:linear-gradient(90deg,#9b674e,#be906d)}.cp-fate-meter{display:flex;align-items:center;gap:8px;min-width:92px}.cp-fate-meter>svg{width:25px;height:25px;color:#aa8842}.cp-fate-meter>span{font-size:11px;line-height:1.5;color:#7b7444}.cp-fate-meter b{display:block;color:#917339;font-size:16px}
.cp-enemy-intent{display:flex;align-items:center;gap:9px;padding:11px 15px;border:1px solid #b58e6944;border-radius:8px;background:#c79c6516;color:#786247;margin:12px 0 17px;font-size:12px!important;line-height:1.65!important}.cp-enemy-intent>svg{width:18px;height:18px;flex:none;color:#9f7556}.cp-enemy-intent>span{flex:1}.cp-enemy-intent b{font-weight:500;color:#735a3e}.cp-enemy-intent>strong{font-size:22px;line-height:1;color:#875e3c}
.cp-dice-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:17px}.cp-dice-heading>strong{white-space:nowrap;border:1px solid #9dab7a77;border-radius:20px;padding:7px 13px;color:#638044;font-size:12px;line-height:1.5;background:#f2f0d5}.cp-dice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cp-die-card{display:flex;flex-direction:column;align-items:center;min-width:0;padding:11px 10px 12px;border:1px solid #8ba27673;border-radius:13px;background:linear-gradient(160deg,#f5edd7,#e2e1c1);transition:border-color .18s,background .18s}.cp-die-card.is-kept{background:linear-gradient(145deg,#e0eac5,#d7e3bc);border-color:#5f8145;box-shadow:0 0 0 2px #8eac6127}.cp-die-owner{display:flex;align-items:center;justify-content:center;gap:6px;min-height:43px;width:100%;margin-bottom:13px}.cp-die-owner>span{display:block;width:29px;height:37px;flex:none}.cp-die-owner>span>svg{width:100%;height:100%}.cp-die-owner>strong{font-size:14px;line-height:1.4;overflow-wrap:anywhere;color:#3e5c3b}
.cp-die{position:relative;display:grid;place-items:center;min-width:76px;width:86px;height:86px;min-height:76px;padding:16px;border:2px solid var(--dice-metal,#d6c591);border-radius:15px;background:linear-gradient(145deg,#f2e1c122,#071c123a),linear-gradient(135deg,var(--dice-top,#627044),var(--dice-bottom,#304a36));color:#efe2b3;box-shadow:inset 0 3px 1px #ffffd826,inset 0 -5px #0523136b,0 5px 0 #294c336b,0 10px 15px #213e2429;--icon-cut:var(--dice-bottom,#304a36);cursor:pointer;transition:transform .16s,box-shadow .16s;flex:none}.cp-die::before{content:'';position:absolute;inset:6px;border:1px solid var(--dice-trim,#e1d29655);border-radius:9px}.cp-die>svg{position:relative;width:43px;height:43px;color:#f4df9c}.cp-die:hover{transform:translateY(-3px)}.cp-die[aria-pressed=true]{outline:2px solid #608348;outline-offset:5px;box-shadow:inset 0 3px 1px #ffffd82d,inset 0 -5px #0523136b,0 5px 0 #294c336b,0 0 25px #8596414d}.cp-die:disabled{cursor:default}.cp-die[aria-pressed=false]:disabled{opacity:.6;transform:none}.cp-die-check{position:absolute;right:-8px;bottom:-10px;display:grid;place-items:center;border:1px solid #809b635d;border-radius:50%;width:23px;height:23px;background:#e7edc9;color:#567b3e;font-size:15px}.cp-die[aria-pressed=true] .cp-die-check{background:#4c763d;color:#f6ebbe;border-color:#466536}
.cp-die-result{font-size:14px;line-height:1.5;color:#4e673e;margin:17px 0 8px}.cp-die-card>.cp-face-list{gap:3px;margin-bottom:13px}.cp-die-card>.cp-face-list>span{width:19px;height:21px}.cp-shape-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:55px;width:100%;padding:8px 6px;border:1px solid #96a770;border-radius:8px;background:#f6edcc;color:#4e663b;font-size:14px;line-height:1.5;cursor:pointer}.cp-shape-button>strong{font-size:14px;font-weight:500}.cp-shape-button>span{display:flex;align-items:center;gap:5px;font-size:12px;color:#7a7d45}.cp-shape-button svg{width:14px;height:14px}.cp-shape-button:disabled{opacity:.53;cursor:not-allowed}.cp-shape-note{font-size:11px!important;line-height:1.6!important;text-align:center;color:#728056;margin:9px 0 0;min-height:35px}
.cp-forecast{margin:20px 0 0;padding:15px 18px;background:#ecedce;border:1px solid #96a9738a;border-radius:10px}.cp-forecast h4{font-size:15px;margin:0 0 12px}.cp-forecast-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cp-forecast-values>span{font-size:12px;color:#69784b;line-height:1.6}.cp-forecast-values b{display:block;color:#385b37;font-size:26px;font-weight:500;line-height:1.35;margin-top:4px}.cp-forecast>p{font-size:12px;color:#6b7c52;line-height:1.7;margin:13px 0 0}.cp-forecast>small{display:block;font-size:12px;color:#7e8246;margin-top:6px;line-height:1.6}.cp-turn-controls{position:sticky;bottom:0;z-index:3;justify-content:space-between;padding:16px 0 9px;background:linear-gradient(#eae3cce8,#eae3cc 25%);border-top:1px solid #b0ba8b55;box-shadow:0 -10px 15px #ece4ce9c}.cp-turn-controls>.cp-primary{margin-left:auto}
.cp-locked-hand{display:flex;align-items:center;justify-content:center;gap:13px;padding:13px;margin-bottom:18px;background:#7d975a17;border:1px solid #90a97177;border-radius:9px;font-size:12px;color:#5a7544}.cp-locked-hand .cp-face-list{gap:7px}.cp-locked-hand .cp-face-list>span{width:34px;height:36px;background:#536f42;color:#ede3ae;border-color:#879d61}.cp-locked-hand .cp-face-list svg{width:24px;height:24px}
.cp-command-list{display:grid;gap:13px}.cp-command-actor{display:flex;align-items:stretch;gap:15px;padding:13px;border:1px solid #a3ae8180;border-radius:11px;background:#f1ebd2}.cp-command-actor.is-candidate{border-color:#698b53;background:linear-gradient(110deg,#dfe7be66,#f1ebd2);box-shadow:inset 3px 0 #8ea75a}.cp-command-identity{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;width:90px;flex:none;gap:5px}.cp-command-identity>span{display:block;width:64px;height:78px}.cp-command-identity>span>svg{width:100%;height:100%}.cp-command-identity strong{font-size:14px;line-height:1.45;color:#405e3b;overflow-wrap:anywhere}.cp-command-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;flex:1;min-width:0}.cp-command-option{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:8px;text-align:left;padding:12px;border:1px solid #a1ac7a;border-radius:8px;background:#fbf2d7;color:#375839;cursor:pointer;font-family:inherit}.cp-command-kind{font-size:11px;line-height:1.5;color:#7b8555}.cp-command-option>strong{font-size:14px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}.cp-command-option[aria-pressed=true]{border-color:#456e39;background:#dae5b5;box-shadow:inset 0 0 0 1px #75914e}.cp-command-option:disabled{opacity:.48;cursor:not-allowed;background:#e5dfc6}.cp-move-numbers{display:flex;flex-wrap:wrap;gap:5px 10px;font-size:12px;line-height:1.6;color:#617444}.cp-move-numbers>span{display:inline-flex;align-items:center;gap:4px}.cp-move-numbers svg{width:13px;height:13px}.cp-move-numbers b{font-size:14px;color:#47613a}.cp-missing{font-size:11px;line-height:1.5;color:#92664e;display:block}
.cp-result-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px 19px;border:1px solid #9dae7980;border-radius:11px;background:#e4e8c5;margin-bottom:16px}.cp-result-totals>span{font-size:12px;color:#657c4b}.cp-result-totals b{display:block;font:400 35px/1.3 Georgia,'Times New Roman',serif;color:#3c633b;margin-top:4px}.cp-result-events{padding:0;margin:0;list-style:none;display:grid;gap:9px}.cp-result-event{display:flex;gap:13px;align-items:center;border:1px solid #9fab7d66;border-radius:9px;padding:10px 15px;background:#f3edd5;animation:cp-event-in .34s ease-out both;animation-delay:var(--cp-event-delay,0ms)}.cp-result-event.is-objective{border-color:#7d9b5680;background:#e4e9c5;box-shadow:inset 3px 0 #92ab61}.cp-event-portrait{width:47px;height:61px;display:block;flex:none}.cp-event-portrait>svg{width:100%;height:100%}.cp-result-event>div{flex:1;min-width:0}.cp-event-actor{display:block;font-size:11px;line-height:1.6;color:#788754}.cp-result-event strong{font-size:15px;line-height:1.5;display:block;color:#3b5d38}.cp-result-event p{font-size:14px;line-height:1.65;margin:4px 0 0;color:#668047}.cp-critical{font-size:11px;line-height:1.5;color:#98763c;border:1px solid #b9a05b88;border-radius:20px;padding:4px 8px;background:#eedca866;flex:none}
.cp-counter-result{display:flex;gap:12px;align-items:center;margin:15px 0 0;padding:13px 16px;border-radius:9px;border:1px solid #b69c7477;background:#c6ac7520;color:#7d694a}.cp-counter-result>svg{width:27px;height:27px;flex:none}.cp-counter-result strong{font-size:14px;font-weight:500;line-height:1.5}.cp-counter-result p{font-size:14px;line-height:1.65;margin:4px 0 0}.cp-practice-outcome{text-align:center;padding:16px 24px 7px;max-width:750px;margin:0 auto}.cp-outcome-portrait{position:relative;display:block;width:155px;height:195px;margin:0 auto 12px}.cp-outcome-portrait::before{content:'';position:absolute;inset:15px -10px 5px;background:radial-gradient(ellipse,#b1b9603d,transparent 68%);border-radius:50%}.cp-outcome-portrait>svg{position:relative;width:100%;height:100%}.cp-outcome-portrait>span{position:absolute;display:grid;place-items:center;width:43px;height:43px;right:1px;bottom:12px;border:1px solid #acac64;border-radius:50%;background:#e2e6b6;color:#758242;font-size:29px}.cp-practice-outcome.is-complete .cp-outcome-portrait>span{animation:cp-earned .65s ease-out both}.cp-practice-outcome h3{font:400 32px/1.3 Georgia,'Times New Roman',serif;color:#39583b;margin:6px 0 12px}.cp-practice-outcome p{color:#5a734d}
.cp-comparison-intro{margin-bottom:21px}.cp-comparison-intro h3{font:400 29px/1.3 Georgia,'Times New Roman',serif;color:#2e503a;margin:5px 0 9px}.cp-comparison-intro p{color:#657a51;margin:0}.cp-slot-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}.cp-slot-picker>button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:83px;padding:8px 12px;border:1px solid #97a876;border-radius:10px;background:#f0ecd2;color:#43613c;cursor:pointer;text-align:left}.cp-slot-picker>button[aria-pressed=true]{border-color:#496f3e;box-shadow:inset 0 0 0 1px #6f8b4e;background:#e0e8c1}.cp-slot-picker>button>span:first-child{display:block;width:43px;height:59px;flex:none}.cp-slot-picker>button>span:first-child>svg{width:100%;height:100%}.cp-slot-picker small{font-size:11px;line-height:1.6;color:#728457;display:block}.cp-slot-picker strong{font-size:15px;line-height:1.5;color:#425f38;overflow-wrap:anywhere}
.cp-preview-note{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1px solid #b6a16977;background:#ceb6651c;border-radius:9px;color:#7d7146;margin:0 0 18px}.cp-preview-note>svg{width:21px;height:21px;flex:none;margin-top:2px}.cp-compare-grid{display:grid;grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr);gap:12px;align-items:stretch}.cp-compare-arrow{display:flex;align-items:center;justify-content:center;font-size:28px;color:#7b8d5e}.cp-compare-member{border:1px solid #94a7798a;border-radius:12px;background:#f2edd7;padding:17px 18px;min-width:0}.cp-compare-member:last-child{background:linear-gradient(145deg,#e5eccb,#f2edd7);border-color:#7d985b}.cp-compare-member-top{display:flex;align-items:center;gap:12px;margin:11px 0 16px;min-width:0}.cp-compare-member-top>span{display:block;width:77px;height:95px;flex:none}.cp-compare-member-top>span>svg{width:100%;height:100%}.cp-compare-member-top>div{min-width:0}.cp-compare-member-top h4{font:400 23px/1.3 Georgia,'Times New Roman',serif;margin:0 0 4px;overflow-wrap:anywhere}.cp-compare-member-top strong{font-size:11px;line-height:1.5;color:#73874f;display:block;margin-bottom:9px}.cp-compare-member-top .cp-face-list{gap:2px}.cp-compare-member-top .cp-face-list>span{width:18px;height:20px}.cp-compare-member dl{margin:0}.cp-compare-member dl>div{padding:12px 0;border-top:1px solid #94a5753f}.cp-compare-member dt{font-size:11px;line-height:1.6;color:#748557;margin-bottom:6px}.cp-compare-member dd{display:flex;align-items:flex-start;flex-direction:column;gap:7px;margin:0;font-size:14px;line-height:1.6;color:#4c6941;min-width:0}.cp-compare-member dd>strong{font-size:14px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}.cp-compare-member dd>p{font-size:14px;line-height:1.75;margin:0;color:#6c7f54}
.cp-ownership{font-size:14px;line-height:1.7;color:#637f4c;border-left:3px solid #9aab71;padding:9px 13px;margin:0 0 17px;background:#94a44e15}
.cp-notice>p{margin:0 0 10px;font-size:14px;line-height:1.75;color:#f1e5b7}.cp-notice>.cp-reload-personal{background:#e6d7a7;color:#304833;border-color:#f2e1b3;min-height:44px;font-size:14px}
.cp-odds{margin:22px 0 18px;border:1px solid #9aac7d66;border-radius:12px;padding:17px 20px;background:#829b4411}.cp-odds-row{padding:13px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 16px;border-top:1px solid #9cac7555}.cp-odds-row>span{font-size:14px;line-height:1.6;color:#4a6741}.cp-odds-row>div{display:flex;gap:9px;align-items:center}.cp-odds-row strong{font-size:17px;font-weight:500;color:#3d623b;line-height:1.5}.cp-odds-row>div>span{font-size:12px;color:#7e9060}.cp-odds-row em{font-style:normal;font-size:11px;line-height:1.6;color:#7a885d;padding:3px 7px;background:#899c6115;border-radius:20px;min-width:90px;text-align:center}.cp-odds-row em.is-up{color:#3b752f;background:#88af5724}.cp-odds-row em.is-down{color:#997246;background:#c8a86c22}.cp-odds-row small{grid-column:1/-1;font-size:11px;line-height:1.6;color:#81906b;text-align:right}
.cp-swap-action{padding:17px 18px;border:1px solid #8f9f6b77;border-radius:11px;display:flex;gap:20px;align-items:center;justify-content:space-between;margin:19px 0 0;background:#dddfb866}.cp-swap-action>div{min-width:0}.cp-swap-action p{margin:0;color:#597443}.cp-swap-action strong{font-size:12px;line-height:1.7;color:#9b7948;display:block;margin-top:7px}.cp-swap-action>.cp-button{flex:none;max-width:290px}
.cp-theatre{margin:20px 25px 0!important;width:auto!important;position:relative!important;inset:auto!important}.cp-theatre .dth-header p{font-size:14px}.cp-theatre .dth-owner strong{font-size:14px}.cp-theatre .dth-skip{min-height:44px;font-size:14px}.cp-theatre .dth-status{font-size:12px;line-height:1.6}.cp-notice{padding:11px 24px;background:#3e4a2d;color:#f1e5b7;border-top:1px solid #bab98366;font-size:14px;line-height:1.7;flex:none}.cp-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 25px;font-size:11px;line-height:1.6;color:#bfcca7;border-top:1px solid #88986944;background:#233b2d;flex:none}.cp-footer>span:last-child{color:#d5c28c}
@keyframes cp-open{from{opacity:0;transform:translateY(10px) scale(.993)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cp-character-arrive{from{opacity:.5;filter:brightness(.85)}to{opacity:1;filter:brightness(1)}}@keyframes cp-event-in{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes cp-earned{0%{opacity:0;transform:scale(.7) rotate(-20deg)}65%{opacity:1;transform:scale(1.12) rotate(5deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@media(max-width:900px){
 .cp-progress-card{flex-wrap:wrap;gap:10px 15px}.cp-progress-actions{max-width:none;margin-left:auto}.cp-progress-portrait{width:70px;height:83px}.cp-progress-copy h3{font-size:21px}.cp-branch{gap:10px;padding:15px 16px 15px 12px}.cp-branch[aria-pressed=true]{padding:14px 15px 14px 11px}.cp-branch-symbol{width:31px;height:37px}.cp-branch-copy>strong{font-size:17px}.cp-command-actor{gap:9px;padding:10px}.cp-command-identity{width:72px}.cp-command-option{padding:10px 9px}.cp-move-numbers{gap:5px}.cp-command-options{gap:7px}.cp-die-card{padding:9px 7px}.cp-die{width:76px;height:76px}.cp-die>svg{width:37px;height:37px}.cp-compare-member{padding:15px}.cp-compare-member-top{gap:8px}.cp-compare-member-top>span{width:63px;height:80px}
}
@media(max-width:680px){
 .cp-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px);border-radius:13px}.cp-heading{padding:16px 17px 13px;gap:13px}.cp-heading h2{font-size:27px}.cp-heading p{font-size:14px;line-height:1.6}.cp-heading .cp-eyebrow{font-size:11px;letter-spacing:.8px}.cp-roster{padding:8px 12px 6px;gap:5px;grid-template-columns:repeat(7,minmax(64px,1fr))}.cp-roster-member{min-height:83px;padding:3px 4px 5px}.cp-roster-portrait{width:47px;height:55px}.cp-roster-member strong{font-size:11px}.cp-roster-mark{right:4px;top:5px;font-size:11px}.cp-tabs{padding:0 11px;gap:2px}.cp-tabs>button{flex:1;padding:11px 8px;font-size:13px;gap:5px;min-height:49px}.cp-tabs>button>svg{width:16px;height:16px}.cp-content{padding:17px 16px 19px}.cp-footer{padding:9px 17px;font-size:11px;line-height:1.6}.cp-notice{padding:10px 17px}
 .cp-person-hero{min-height:235px;padding:23px 20px}.cp-person-copy{max-width:71%}.cp-person-copy h3{font-size:34px}.cp-person-copy p{font-size:14px;line-height:1.75}.cp-person-art{height:201px;right:0;width:32%}.cp-unlock-label{font-size:11px;line-height:1.7}.cp-person-copy .cp-eyebrow{font-size:11px;letter-spacing:.8px}.cp-next-step{padding:16px;flex-direction:column;align-items:stretch;gap:13px}.cp-next-step>.cp-button{max-width:none;align-self:flex-start}.cp-next-step h4{font-size:20px}
 .cp-journey-path{grid-template-columns:1fr;gap:0;padding:3px 0}.cp-journey-path li{flex-direction:row;gap:13px;align-items:center;min-height:59px;padding:7px 6px;text-align:left}.cp-journey-path li:not(:last-child)::after{left:24px;right:auto;top:44px;bottom:-8px;height:auto;width:1px}.cp-journey-path li>span:last-child{display:flex;flex:1;gap:10px;justify-content:space-between;align-items:center}.cp-journey-path small{margin:0}.cp-journey-path strong{font-size:14px}.cp-growth-note{padding:16px;gap:11px}
 .cp-conversation-art{height:259px}.cp-scene-left{left:calc(50% - 183px)}.cp-scene-right{right:calc(50% - 183px)}.cp-scene-actor{width:137px;height:193px}.cp-scene-lantern{width:108px;height:148px;left:calc(50% - 54px)}.cp-scene-heading{top:17px;left:18px}.cp-scene-heading h3{font-size:27px}.cp-dialogue{padding:17px 18px 13px;gap:13px;min-height:164px}.cp-dialogue p{font-size:16px;line-height:1.9}.cp-speaker-portrait{width:39px;height:51px}.cp-scene-controls{gap:10px;padding:13px 17px 17px}.cp-scene-controls>.cp-button{font-size:13px;padding:10px 12px}.cp-conversation>.cp-endnote{padding:12px 17px}.cp-scene-pagination i{width:15px}
 .cp-branch-grid{grid-template-columns:1fr;gap:11px}.cp-branch{padding:17px 19px 17px 15px;gap:13px}.cp-branch[aria-pressed=true]{padding:16px 18px 16px 14px}.cp-branch-copy>small{font-size:12px;line-height:1.75}.cp-branch-copy>strong{font-size:18px}.cp-branch-symbol{width:36px;height:42px}.cp-branch-technique{justify-content:space-between}.cp-sample-party{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:12px}.cp-sample-member{padding:7px}.cp-sample-portrait{height:96px;width:77px}.cp-objective{display:block;padding:13px 15px}.cp-objective ul{margin-top:12px;max-width:none;gap:7px}.cp-objective li{font-size:12px}.cp-main-action{flex-direction:column;align-items:stretch;gap:12px}.cp-main-action>span{max-width:none;font-size:12px;text-align:center}.cp-main-action>.cp-button{width:100%}
 .cp-practice-heading{gap:13px;margin-bottom:15px}.cp-practice-heading h3{font-size:25px}.cp-practice-emblem{width:64px;height:84px}.cp-battle-meters{grid-template-columns:1fr 1fr;gap:14px;padding:14px}.cp-fate-meter{grid-column:1/-1;justify-content:center;padding-top:10px;border-top:1px solid #b1b98a55}.cp-fate-meter>span{display:flex;align-items:center;gap:9px;font-size:12px}.cp-fate-meter b{font-size:16px}.cp-fate-meter>svg{width:21px;height:21px}.cp-dice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cp-die-card{padding:11px 11px 12px}.cp-die{width:88px;height:88px}.cp-die>svg{width:43px;height:43px}.cp-die-owner{gap:8px}.cp-die-owner>span{width:33px;height:42px}.cp-die-owner>strong{font-size:14px}.cp-die-card>.cp-face-list{gap:3px}.cp-shape-note{min-height:34px}.cp-dice-heading{display:block}.cp-dice-heading>strong{display:inline-block;margin-top:12px}
 .cp-command-actor{display:block;padding:12px}.cp-command-identity{width:auto;flex-direction:row;justify-content:flex-start;text-align:left;gap:10px;margin-bottom:11px}.cp-command-identity>span{width:34px;height:43px}.cp-command-identity strong{font-size:15px}.cp-command-options{gap:6px}.cp-command-option{padding:10px 8px;gap:7px}.cp-command-option>strong{font-size:14px;line-height:1.5}.cp-command-kind{font-size:11px}.cp-command-option>.cp-pattern{gap:2px}.cp-command-option .cp-pattern>span{width:20px;height:22px}.cp-command-option .cp-pattern svg{width:14px;height:14px}.cp-move-numbers{font-size:12px;gap:5px 7px}.cp-move-numbers svg{width:12px;height:12px}.cp-command-option .cp-move-numbers>span{gap:2px}.cp-command-option .cp-move-numbers b{font-size:14px}.cp-missing{font-size:11px}.cp-forecast{padding:14px}.cp-forecast-values{gap:7px}.cp-forecast-values b{font-size:23px}.cp-forecast-values>span{font-size:11px}.cp-turn-controls{gap:9px;padding-top:13px}.cp-turn-controls>.cp-button{flex:1;min-width:0;padding:10px 12px;font-size:14px}.cp-turn-controls>.cp-primary{margin-left:0}.cp-turn-controls>.cp-quiet{flex-basis:100%}
 .cp-result-event{padding:11px 12px;gap:11px}.cp-event-portrait{width:39px;height:53px}.cp-result-event p{font-size:14px}.cp-critical{font-size:11px;padding:3px 5px}.cp-practice-outcome{padding:9px 6px}.cp-practice-outcome h3{font-size:28px}.cp-practice-outcome p{font-size:14px}.cp-comparison-intro h3{font-size:26px}.cp-slot-picker{gap:7px}.cp-slot-picker>button{padding:9px 7px;min-height:84px;gap:7px;flex-direction:column;text-align:center}.cp-slot-picker>button>span:first-child{width:37px;height:49px}.cp-slot-picker strong{font-size:14px}.cp-slot-picker small{font-size:11px}
 .cp-compare-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;position:relative}.cp-compare-arrow{position:absolute;left:calc(50% - 13px);top:93px;z-index:1;border-radius:50%;border:1px solid #829a65;background:#e3e5bd;width:26px;height:26px;font-size:18px}.cp-compare-member{padding:13px 11px}.cp-compare-member>.cp-eyebrow{font-size:11px;letter-spacing:.5px}.cp-compare-member-top{flex-direction:column;text-align:center;gap:8px;margin:11px 0 14px}.cp-compare-member-top>span{width:68px;height:86px}.cp-compare-member-top h4{font-size:23px}.cp-compare-member-top .cp-face-list{gap:2px}.cp-compare-member-top .cp-face-list>span{width:18px;height:20px}.cp-compare-member dd>p{font-size:14px;line-height:1.75}.cp-compare-member dl>div{padding:12px 0}.cp-odds{padding:15px}.cp-odds-row{display:block}.cp-odds-row>span{display:block;margin-bottom:8px;font-size:14px}.cp-odds-row>div{justify-content:space-between;gap:7px}.cp-odds-row em{min-width:90px;font-size:11px}.cp-odds-row small{display:block;margin-top:5px}.cp-swap-action{padding:15px;flex-direction:column;align-items:stretch;gap:14px}.cp-swap-action>.cp-button{max-width:none;width:100%}.cp-theatre{margin:17px 16px 0!important}
}
@media(max-width:420px){
 .cp-heading h2{font-size:24px}.cp-heading{padding:14px 14px 12px;gap:10px}.cp-heading .cp-eyebrow{letter-spacing:.5px}.cp-heading p{font-size:14px;line-height:1.55}.cp-content{padding:15px 12px 18px}.cp-tabs>button{padding:11px 6px;font-size:12px;gap:4px}.cp-tabs>button>svg{width:14px;height:14px}.cp-person-hero{padding:22px 18px;min-height:238px}.cp-person-copy{max-width:72%}.cp-person-copy h3{font-size:31px}.cp-person-art{width:32%;height:180px;right:-2px;bottom:7px}.cp-person-copy p{font-size:14px;line-height:1.7}.cp-person-hero::after{inset:8px}.cp-unlock-label{font-size:11px}
 .cp-scene-left{left:calc(50% - 164px)}.cp-scene-right{right:calc(50% - 164px)}.cp-scene-actor{width:126px;height:179px}.cp-conversation-art{height:244px}.cp-dialogue{padding:16px 15px 13px;gap:10px}.cp-dialogue p{font-size:16px;line-height:1.85}.cp-speaker-portrait{width:32px;height:43px}.cp-scene-controls{padding:13px 14px 15px;gap:7px}.cp-scene-controls>.cp-button{padding:10px 9px;font-size:12px}.cp-scene-pagination i{width:11px}.cp-branch{padding:15px 13px;gap:10px}.cp-branch[aria-pressed=true]{padding:14px 12px}.cp-branch-symbol{width:30px;height:37px}.cp-branch-copy>strong{font-size:17px}.cp-branch-copy>span{font-size:14px}
 .cp-dice-grid{gap:9px}.cp-die-card{padding:10px 8px}.cp-die-owner>strong{font-size:14px}.cp-die-owner>span{width:28px;height:36px}.cp-die{width:79px;height:79px}.cp-die>svg{width:39px;height:39px}.cp-die-card>.cp-face-list{gap:2px}.cp-shape-button{padding:8px 4px}.cp-shape-button>strong{font-size:14px}.cp-shape-note{font-size:11px!important}.cp-command-actor{padding:11px 8px}.cp-command-options{gap:5px}.cp-command-option{padding:9px 6px}.cp-command-option>.cp-pattern{gap:1px}.cp-command-option .cp-pattern>span{width:18px;height:21px}.cp-command-option .cp-pattern svg{width:13px;height:13px}.cp-command-kind{font-size:11px}.cp-command-option>.cp-always{font-size:11px}.cp-command-option .cp-move-numbers>span{font-size:11px}
 .cp-battle-meters{gap:13px 10px;padding:12px}.cp-battle-meters b{font-size:13px}.cp-battle-meters>div>span:first-child{font-size:11px}.cp-turn-controls>.cp-button{padding:10px;font-size:13px}.cp-turn-controls>.cp-button>svg{display:none}.cp-compare-member{padding:12px 9px}.cp-compare-member-top .cp-face-list{gap:1px}.cp-compare-member-top .cp-face-list>span{width:17px;height:19px}.cp-compare-member dd{font-size:14px}.cp-odds-row em{font-size:11px;min-width:76px;padding:3px 5px}.cp-odds-row strong{font-size:16px}
 .cp-progress-card{padding:12px 13px 13px 5px;gap:8px 10px}.cp-progress-portrait{width:61px;height:79px}.cp-progress-copy h3{font-size:20px}.cp-progress-copy p{font-size:14px;line-height:1.65}.cp-progress-copy>.cp-eyebrow{font-size:11px;letter-spacing:.5px}.cp-progress-actions{justify-content:flex-start;gap:6px;margin-left:10px}.cp-progress-actions>.cp-button{font-size:13px;padding:10px 12px}
}
html[data-motion=reduced] .cp-dialog,html[data-motion=reduced] .cp-dialog *,html[data-motion=reduced] .cp-progress-card *{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.cp-dialog,.cp-dialog *,.cp-progress-card *{animation:none!important;transition:none!important}}

/* Keep decisions legible at phone width; only counters and provenance use small type. */
.cp-roster-member strong{font-size:14px}.cp-branch-copy>small{font-size:14px;line-height:1.75}.cp-objective li{font-size:14px;line-height:1.65}.cp-shape-note{font-size:14px!important;line-height:1.65!important;min-height:47px}.cp-forecast>p{font-size:14px;line-height:1.75}.cp-missing{font-size:12px;line-height:1.6}

/* Practice teaches the same ward and counterplay without adding a second
   battlefield. These values come from the live engine or the saved turn. */
.cp-encounter{margin:12px 0 17px;padding:12px 14px;border:1px solid #8fa79f77;border-radius:11px;background:#dde5d940;color:#355b54}
.cp-encounter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}
.cp-encounter-bar>strong{flex:1 1 145px;min-width:0;font-family:Georgia,'PingFang TC',serif;font-weight:500;font-size:19px;line-height:1.4;color:#345852}
.cp-encounter-bar>span{display:inline-flex;align-items:center;gap:5px;font-size:12px;line-height:1.5;color:#536d58}
.cp-encounter-bar svg{height:14px;width:14px;flex:none;color:#47746b}
.cp-encounter-bar b{font-size:18px;font-weight:650;color:#31574f;font-variant-numeric:tabular-nums}
.cp-encounter-bar del{font-size:12px;font-weight:400;color:#7b836c;margin-right:3px}
.cp-encounter .cp-encounter-state{font-size:12px!important;line-height:1.65!important;color:#5c715e;margin:7px 0 0}
.cp-encounter-details{margin-top:7px;border-top:1px solid #819c7738}
.cp-encounter-details>summary{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:44px;cursor:pointer;list-style:none;font-size:13px;line-height:1.55;font-weight:600;color:#496644;padding:8px 1px}
.cp-encounter-details>summary::-webkit-details-marker{display:none}
.cp-encounter-details>summary::after{content:'+';flex:none;font-size:19px;line-height:1;color:#4c7064}
.cp-encounter-details[open]>summary::after{content:'−'}
.cp-encounter-details>summary:focus-visible{outline:3px solid #347167;outline-offset:2px;border-radius:4px}
.cp-encounter-details>p{font-size:13px!important;line-height:1.7!important;color:#576f59;margin:0 0 9px}
.cp-encounter-details ul{list-style:none;padding:0;margin:7px 0 2px;display:grid;gap:7px}
.cp-encounter-details li{border-left:2px solid #8cab80;padding:4px 10px;background:#f4f2de75;border-radius:0 7px 7px 0}
.cp-encounter-details li strong,.cp-encounter-details li span,.cp-encounter-details li small{display:block;font-size:13px;line-height:1.6;color:#45664c}
.cp-encounter-details li strong{font-weight:650}
.cp-encounter-details li small{font-size:12px;color:#6e754d;margin-top:4px}
.cp-result-event .cp-ward-receipt{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:5px 8px;margin-top:7px;border:1px solid #89aca25e;border-radius:6px;background:#d6e5e066;color:#365f62;font-size:12px;line-height:1.55}
.cp-ward-receipt svg{width:14px;height:14px;flex:none}
.cp-counter-result .cp-counter-reduction{border-top:1px solid #9f9f7445;margin-top:7px;padding-top:7px;color:#506b47;font-size:13px}
@media(max-width:560px){.cp-encounter{padding:11px 12px}.cp-encounter-bar{gap:6px 13px}.cp-encounter-bar>strong{flex-basis:100%;font-size:20px}.cp-encounter-bar>span{font-size:12px}.cp-encounter-bar b{font-size:18px}.cp-result-event .cp-ward-receipt{font-size:12px;padding:5px 7px}}
@media(max-width:680px){.cp-roster{grid-template-columns:repeat(7,minmax(75px,1fr))}.cp-roster-member{min-height:94px}.cp-roster-member strong{font-size:14px}.cp-tabs>button,.cp-turn-controls>.cp-button,.cp-scene-controls>.cp-button,.cp-progress-actions>.cp-button{font-size:14px}.cp-roster-portrait{height:55px}.cp-branch-copy>small,.cp-objective li{font-size:14px}.cp-shape-note{font-size:14px!important}.cp-tabs>button{padding-inline:6px}.cp-progress-actions>.cp-button{min-height:44px}}
@media(max-width:420px){.cp-scene-controls{display:grid;grid-template-columns:auto 1fr;gap:12px}.cp-scene-pagination{justify-self:end}.cp-scene-controls>.cp-primary{grid-column:1/-1;width:100%}.cp-dialogue{min-height:170px}.cp-tabs>button>svg{display:none}.cp-roster-member strong{font-size:14px}}
