/* A quiet stage for short, reader-initiated scenes. Native creature idles are frozen here. */
.companion-scene{display:block;width:100%;height:auto;overflow:hidden}.companion-scene *{animation:none!important;transition:none!important}
.cmp-character{transform-origin:150px 250px;transform-box:view-box}.cmp-page{transform-origin:0 -10px;transform-box:view-box}.cmp-breath{transform-origin:150px 155px;transform-box:view-box}.cmp-star{transform-box:fill-box;transform-origin:center}.cmp-paperbird{transform-box:fill-box;transform-origin:center}
.companion-entry{display:flex;align-items:center;gap:15px;padding:13px 17px;border:1px solid #b29c6544;border-radius:15px;background:linear-gradient(110deg,#243b31,#172921);color:#f3e3c3;text-decoration:none;margin:4px 0 6px;box-shadow:inset 0 1px 0 #fff1}
.companion-entry:hover{border-color:#dfbb72;background:linear-gradient(110deg,#2e483b,#1b3026)}.companion-entry-portrait{flex:0 0 62px;width:62px;height:62px;border-radius:50%;background:#14221e;overflow:hidden;border:1px solid #c2a66b66}.companion-entry-portrait svg{width:100%;height:100%}.companion-entry>span:nth-child(2){display:grid;gap:4px;flex:1}.companion-entry .h-kick{color:#d2b477;font-size:9px;letter-spacing:1.8px}.companion-entry b{font:500 21px/1.2 Georgia,serif}.companion-entry small{color:#bdc6b5;font-size:12px}.companion-entry-arrow{font-size:24px;color:#efcf84}
.companion-page{min-height:calc(100vh - 100px);background:radial-gradient(ellipse at 30% 0,#203a3066,transparent 65%),#120f0b}.companion-page .wrap{max-width:1380px}.companion-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:8px 0 24px}.companion-heading h1{font:500 clamp(32px,4vw,54px)/1.15 Georgia,serif;color:#f8e8c5;margin:10px 0}.companion-heading p{color:#c1bda9;margin:0;font-size:16px}.companion-heading .h-kick{font-size:10px;color:#d9b87a;letter-spacing:2px}
.companion-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.companion-theatre{min-width:0;border-radius:22px;overflow:hidden;background:#172b25;border:1px solid #b5995a77;box-shadow:0 24px 70px #0005,inset 0 1px 0 #fff1}.companion-stage-label{display:flex;justify-content:space-between;gap:20px;padding:13px 22px;color:#e8d2a3;font:12px/1.4 system-ui;letter-spacing:.4px;border-bottom:1px solid #a58a4933;background:#233b32}.companion-stage-label span+span{color:#b3c3b6}.companion-stage{background:#162422;overflow:hidden}
.companion-theatre-copy{padding:25px 30px 28px;background:radial-gradient(ellipse at 50% 0,#304b3d,#14281f 90%);text-align:center;border-top:1px solid #bd9a5a66}.companion-theatre-copy .h-kick{font-size:9px;letter-spacing:2.3px;color:#dcc18b}.companion-theatre-copy h2{font:500 clamp(25px,3vw,36px)/1.2 Georgia,serif;margin:9px 0 12px;color:#fff0d2}.companion-caption{max-width:540px;min-height:3em;margin:0 auto;color:#ccd3c0;font:16px/1.6 Georgia,serif}.companion-motion-note{font-size:11px;color:#b4c5b4;margin:10px 0}.companion-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}.companion-controls .btn{min-width:210px}.companion-controls [hidden]{display:none}.companion-controls .btn span{font-size:11px;margin-left:12px}
.companion-milestones{min-width:0}.companion-progress{display:grid;padding:21px 22px 18px;border:1px solid #a88b4b55;border-radius:17px;background:linear-gradient(140deg,#352c1e,#1b211a);color:#dac9aa}.companion-progress .h-kick{font-size:9px;letter-spacing:1.8px;color:#dab875}.companion-progress strong{font:500 53px/1.1 Georgia,serif;color:#f6dfaa;margin-top:8px}.companion-progress>span:last-of-type{font-size:12px}.companion-progress p{font-size:12px;line-height:1.65;color:#b7bba7;margin:12px 0 0}.companion-moment-list{display:grid;gap:11px;margin-top:17px}.companion-moment{display:flex;align-items:center;gap:12px;width:100%;padding:17px 14px;text-align:left;border:1px solid #84704b66;border-radius:14px;background:#221c15;color:#f0dfbc;cursor:pointer;box-shadow:inset 0 1px 0 #fff08}.companion-moment:hover{border-color:#d8b461;background:#2c2b20}.companion-moment.selected{background:#2a4335;border-color:#efcb7c;box-shadow:0 0 0 2px #eac57526,inset 0 1px 0 #fff1}.companion-moment-icon{display:grid;place-items:center;width:37px;height:42px;font-size:27px;color:#e6c47d;flex-shrink:0}.companion-moment>span:nth-child(2){display:grid;gap:5px;flex:1}.companion-moment small{font-size:8px;letter-spacing:1.4px;color:#b3b79b}.companion-moment b{font:500 19px/1.25 Georgia,serif}.companion-moment em{font:11px/1.4 system-ui;color:#b6c0ac}.companion-meter{height:4px;border-radius:3px;background:#080e0b66;margin-top:3px;overflow:hidden}.companion-meter i{display:block;height:100%;background:#dfbd76;border-radius:3px}.companion-change{display:block;margin:20px 2px 14px;font-size:12px;color:#ead09e}.companion-promise{font-size:11px;line-height:1.7;color:#b4ad98;margin:0 2px}
.companion-reward{margin:22px 0;display:flex;gap:22px;align-items:center;text-align:left;padding:23px;border:1px solid #c3a56a88;border-radius:18px;background:linear-gradient(120deg,#2d4538,#1b3028);color:#f6e6c4}.companion-reward>span{font-size:54px;color:#f2cd74}.companion-reward h2{font:500 27px/1.25 Georgia,serif;margin:6px 0;color:#f8e6bb}.companion-reward p{font-size:13px;color:#c4ccb8}.companion-reward .h-kick{font-size:10px;letter-spacing:1.5px}
.companion-page a:focus-visible,.companion-page button:focus-visible,.companion-entry:focus-visible{outline:3px solid #f4d58e;outline-offset:4px}
@media(max-width:1000px){.companion-layout{grid-template-columns:minmax(0,1fr) 260px;gap:16px}.companion-theatre-copy{padding:22px}.companion-moment{padding:14px 10px;gap:7px}.companion-moment b{font-size:17px}}
@media(max-width:760px){.companion-heading{align-items:flex-start}.companion-heading .lz-btn{font-size:11px;padding:10px;white-space:nowrap}.companion-layout{grid-template-columns:1fr}.companion-milestones{display:grid;grid-template-columns:1fr}.companion-progress{grid-template-columns:auto 1fr;gap:0 15px;padding:17px 20px}.companion-progress .h-kick{grid-column:1/-1}.companion-progress strong{grid-column:1;grid-row:2/4;font-size:44px;align-self:center}.companion-progress>span:last-of-type{margin-top:10px}.companion-progress p{margin-top:6px}.companion-moment-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.companion-moment{display:grid;position:relative;gap:7px;padding:14px 10px;align-content:start}.companion-moment>span:nth-child(2){display:grid;gap:7px}.companion-moment>span:last-child{position:absolute;top:15px;right:10px}.companion-moment-icon{height:27px;width:28px;font-size:23px}.companion-moment b{font-size:16px}.companion-moment small{font-size:7px;letter-spacing:.6px}.companion-moment em{font-size:10px}.companion-change{margin:20px 0 10px}}
@media(max-width:480px){.companion-heading{flex-wrap:wrap;gap:14px}.companion-heading h1{font-size:34px}.companion-heading p{font-size:14px}.companion-stage-label{padding:11px 13px;font-size:10px;gap:8px}.companion-theatre{border-radius:16px}.companion-stage{aspect-ratio:760/450}.companion-scene{height:auto;width:100%}.companion-theatre-copy{padding:20px 16px}.companion-caption{font-size:15px;min-height:4.7em}.companion-controls .btn{min-width:180px}.companion-entry{padding:12px;gap:11px}.companion-entry b{font-size:19px}.companion-entry-portrait{width:50px;height:50px;flex-basis:50px}.companion-entry .h-kick{font-size:8px;letter-spacing:1.2px}.companion-entry small{font-size:10px}.companion-reward{padding:18px;gap:15px}.companion-reward>span{font-size:36px}}
@media(prefers-reduced-motion:reduce){.companion-entry *{animation:none!important;transition:none!important}}
