/* Compact management screens: no changes to state, controls, or transactions. */
:is(.partner55-screen,.equipment55-screen,.records55,.hall-world){min-width:0;word-break:keep-all;overflow-wrap:anywhere}
:is(.partner55-screen,.equipment55-screen,.records55) .screen55-heading{margin:0 0 12px}
:is(.partner55-screen,.equipment55-screen,.records55) .screen55-heading>:is(.eyebrow,p){display:none}
:is(.partner55-screen,.equipment55-screen,.records55) .screen55-heading h1{font-size:22px;line-height:1.35;margin:0;font-weight:650;letter-spacing:-.025em}
/* Editor: identity, experience, contract and actions fit a compact vertical card. */
.partner55-screen{margin-bottom:12px}
.partner55-screen .partner55{padding:14px;border-radius:16px}
.partner55-screen .partner55 h2{font-size:22px;line-height:1.35;margin:2px 0}
.partner55-screen .partner55-identity{gap:10px}
.partner55-screen .partner55-identity p{margin:2px 0}
.partner55-screen .partner55 blockquote{font-size:13px;line-height:1.55;margin:10px 0}
.partner55-screen .partner55-xp{margin-bottom:5px}
.partner55-screen .partner55-stats{margin:12px 0;padding:10px 0;gap:12px}
.partner55-screen .partner55-stats dd{font-size:23px;line-height:1.35;margin:4px 0 0}
.partner55-screen .partner55-stats dd small{margin-left:4px}
.partner55-screen .partner55-memory h3{font-size:14px;margin:0}
.partner55-screen .partner55-memory button{min-height:44px;padding:6px 8px}
.partner55-screen .partner55-memory p{font-size:13px;line-height:1.5;margin:3px 0}
.partner55-screen .contract55{margin:10px 0 0;padding:10px 0;gap:8px}
.partner55-screen .contract55>div{gap:6px 12px;font-size:13px;align-items:baseline}
.partner55-screen .contract55 dd{min-width:0;text-align:right}
.partner55-screen .partner55-actions{gap:8px;margin-top:4px}
.partner55-screen .partner55-actions button{min-height:44px;padding:9px 8px;border-radius:10px;font-size:14px}
:is(.partner55-screen,.records55) .market55-entry{min-height:52px;margin-top:12px;padding:10px 12px;gap:10px;border-radius:12px}
/* Equipment: compare the current/next effect horizontally, with cost beside CTA. */
.equipment55-screen .equipment55-grid{grid-template-columns:minmax(0,1fr);gap:10px}
.equipment55-screen .equipment55{display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,.8fr);gap:10px 12px;padding:14px;border-radius:14px;align-content:start;align-items:center}
.equipment55-screen .equipment55-heading{grid-column:1/-1;gap:9px}
.equipment55-screen .equipment55-heading>svg{width:21px;height:21px;flex:0 0 21px}
.equipment55-screen .equipment55-heading b{font-size:16px;line-height:1.4}
.equipment55-screen .equipment55-heading small{font-size:12px;line-height:1.5}
.equipment55-screen .equipment55 dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0;padding:9px 0;border-block:1px solid var(--line)}
.equipment55-screen .equipment55 dt{font-size:12px;line-height:1.5}
.equipment55-screen .equipment55 dd{font-size:14px;line-height:1.5;margin:3px 0 0}
.equipment55-screen .equipment55-price{display:block;margin:0;min-width:0}
.equipment55-screen .equipment55-price span{display:block;font-size:12px;line-height:1.4}
.equipment55-screen .equipment55-price b{display:block;font-size:19px;line-height:1.4;overflow-wrap:anywhere}
.equipment55-screen .equipment55>button{width:100%;min-width:0;min-height:44px;padding:9px 8px;font-size:13px;border-radius:10px;line-height:1.45}
.equipment55-screen .equipment55-short{grid-column:1/-1;margin:0;font-size:12px;line-height:1.5}
/* Records: small, readable summaries and a tighter timeline without hiding entries. */
.records55 .records55-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}
.records55 .records55-stats>div{padding:11px 12px;border-radius:12px;min-width:0}
.records55 .records55-stats dt{font-size:12px;line-height:1.5}
.records55 .records55-stats dd{font-size:21px;line-height:1.4;margin:3px 0 0;font-weight:650;letter-spacing:-.02em}
.records55 .record55-best{padding:12px 14px;gap:12px;border-radius:12px}
.records55 .record55-best>div{min-width:0}
.records55 .record55-best>svg{flex:0 0 21px}
.records55 .record55-best h2{font-size:16px;line-height:1.5;margin:3px 0}
.records55 .record55-best p{margin:0;line-height:1.5}
.records55 .record55-series{padding:10px 12px;margin-top:10px;min-height:48px}
.records55 .timeline54{margin-top:16px}
.records55 .timeline54>.eyebrow{display:none}
.records55 .timeline54 h2{font-size:18px;line-height:1.4;margin:0 0 10px}
.records55 .timeline54>section{padding:12px 0}
.records55 .timeline54 h3{font-size:16px;line-height:1.5;margin:0 0 5px}
.records55 .timeline54 p{font-size:13px;line-height:1.55;margin:4px 0}
.records55 .timeline54 article{padding:9px 0 9px 14px}
.records55 .timeline54 article>b{font-size:14px;line-height:1.5;margin:3px 0}
.records55 .timeline54 article:before{top:17px}
.records55 .milestones55{margin-top:12px}
.records55 :is(.milestones55,.timeline55-achievements)>summary{min-height:44px;font-size:14px}
/* Hall: retain all three full-width cards and animation hierarchy. */
.hall-world .hall-header{padding:0}
.hall-world .hall-header h1{font-size:22px;line-height:1.4;margin:0 0 4px}
.hall-world .hall-header p{font-size:12px;line-height:1.5}
.hall-world .ui-world-main-tabs{margin:10px 0 6px}
.hall-world .ui-world-metrics{margin:8px 0}
.hall-world .hall-phase{margin:6px 0 8px}
.hall-world .hall-selection-note{font-size:12px;margin:4px 0 8px!important;line-height:1.5}
.hall-world .hall-stage{margin-bottom:14px}
.hall-world .hall-runners{gap:8px;margin-top:8px;grid-template-columns:minmax(0,1fr)}
.hall-world .hall-hero{padding:14px 16px 16px;min-height:0}
.hall-world .hall-runner{padding:11px 14px 13px;min-height:0}
.hall-world .hall-channel .hall-current-rank{margin-bottom:8px;font-size:13px}
.hall-world .hall-hero .hall-current-rank{margin-bottom:10px;font-size:14px}
.hall-world .hall-channel .hall-name{font-size:16px;line-height:1.45}
.hall-world .hall-hero .hall-name{font-size:20px}
.hall-world .hall-channel .hall-featured{margin-top:8px;padding-top:7px}
.hall-world .hall-channel .hall-video-title{font-size:14px;line-height:1.5;-webkit-line-clamp:3}
.hall-world .hall-channel .hall-stat{margin-top:6px;gap:3px 6px}
.hall-world .hall-channel .hall-stat strong,.hall-world .hall-channel .hall-video-views strong{font-size:21px}
.hall-world .hall-hero .hall-stat strong,.hall-world .hall-hero .hall-video-views strong{font-size:25px}
.hall-world .hall-list{margin-top:10px}
.hall-world .hall-list button{min-height:44px;padding:9px 8px;gap:10px}
.hall-world .hall-list-name{font-size:14px}
.hall-world .ui-my-standing{padding:12px 0;margin:0 0 12px}
.hall-world .ui-my-standing>strong{font-size:20px;line-height:1.4;margin:4px 0}
.hall-world .ui-my-standing p{font-size:13px;line-height:1.5;margin:4px 0}
.hall-world .hall-growth{padding:0 0 12px}
.hall-world .hall-growth h2{font-size:16px;margin-bottom:4px}
.hall-world .hall-growth>p{margin-bottom:6px}
.hall-world .ui-world-status{padding:12px;font-size:13px!important}
.hall-world .ui-world-status p{font-size:13px;line-height:1.55;margin:6px 0}
.hall-world :is(.hall-score-details,.ui-world-more)>summary{min-height:44px}
/* Comfortable hit areas, readable Korean, and robust long/numeric values. */
:is(.partner55-screen,.equipment55-screen,.records55) button{min-height:44px}
:is(.partner55-screen,.equipment55-screen,.records55,.hall-world) :is(h1,h2,h3,dd,p){word-break:keep-all;overflow-wrap:anywhere}
@media(min-width:600px){.equipment55-screen .equipment55-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){
 :is(.partner55-screen,.equipment55-screen,.records55) .screen55-heading{margin-bottom:14px}
 .partner55-screen .partner55{padding:18px;gap:8px 24px}
 .partner55-screen .partner55 blockquote{margin:0}
 .partner55-screen .partner55-stats{margin:0;padding:10px 0}
 .partner55-screen .contract55{margin:0;padding:10px 0}
 .partner55-screen .market55-entry{max-width:none}
 .equipment55-screen .equipment55{padding:16px;gap:10px 16px}
 .records55 .records55-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
 .records55 .timeline54 article{gap:6px 16px}
 .records55 .timeline54 article>p{grid-column:2;margin:0}
 .hall-world .hall-channel{gap:8px 20px}
 .hall-world .hall-hero{padding:16px 20px 18px}
 .hall-world .hall-runner{padding:12px 18px 14px}
 .hall-world .hall-channel .hall-stat,.hall-world .hall-channel .hall-featured{margin:0;padding:0 0 0 20px}
 .hall-world .ui-my-standing{padding:12px 16px}
 .hall-world .hall-growth{padding:0 16px 12px}
}
@media(max-width:359px){
 .equipment55-screen .equipment55{grid-template-columns:minmax(0,1fr) minmax(105px,1fr);padding:12px;gap:8px}
 .equipment55-screen .equipment55 dl{gap:8px}
 .records55 .records55-stats>div{padding:10px}
 .records55 .records55-stats dd{font-size:19px}
}
/* Preserve the user's larger-text preference rather than forcing tiny labels. */
.large-type :is(.partner55-screen,.equipment55-screen,.records55,.hall-world) :is(p,dt,dd,button){font-size:16px}
.large-type .partner55-screen .partner55-stats dd,.large-type .records55 .records55-stats dd{font-size:25px}
/* Promotion is a primary editor action, independent of the growth dialog. */
.editor-promotion{min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);grid-column:1/-1;word-break:keep-all}
.editor-promotion[data-ready=true]{border-color:var(--soft)}
.editor-promotion-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.editor-promotion h3{font-size:15px;line-height:1.45;margin:0;font-weight:650}
.editor-promotion-heading>span{font-size:13px;color:var(--soft)}
.editor-promotion dl{display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0}
.editor-promotion dl>div{flex:1 1 auto;min-width:0}
.editor-promotion dt{font-size:12px;color:var(--soft);line-height:1.4}
.editor-promotion dd{margin:3px 0 0;font-size:14px;line-height:1.5;white-space:nowrap;font-variant-numeric:tabular-nums}
.editor-promotion [data-met=false] dd{color:var(--text)}
.editor-promotion>button{width:100%;min-height:44px;margin-top:2px;font-size:14px}
.editor-promotion>p{font-size:12px;line-height:1.6;margin:7px 0 0;color:var(--soft)}
.growth55>.editor-promotion{margin:12px 0}
.planning-refresh-note{font-size:13px;line-height:1.6;padding:10px 12px;border-left:2px solid var(--soft);background:var(--surface2);border-radius:8px;margin:0 0 10px}
/* Whole numbers are never divided midway. Value cards use another row if needed. */
:is(.cash55,.graph-scale,.editor-promotion dd,.partner55-stats dd,.equipment55-price b,.records55-stats dd,.hall-stat strong,.hall-video-views strong,.result-rewards strong,.reaction63 strong){white-space:nowrap;word-break:normal;overflow-wrap:normal;font-variant-numeric:tabular-nums}
.result-big{container-type:inline-size;width:100%;min-width:0}
.result-big>strong.result-view-number{white-space:nowrap;overflow-wrap:normal;font-size:clamp(20px,calc(140cqi / (var(--number-chars) + 2)),44px);max-width:100%}
.graph-container{padding-top:26px}
.graph-container .graph-scale{position:static;display:flex;flex-direction:row;justify-content:space-between;gap:8px;height:auto;font-size:12px;margin:0 0 5px}
.graph-container .graph-scale>span:nth-child(2){display:none}
.graph-container>svg{margin-top:0}
@media(min-width:900px){.partner55>.editor-promotion{grid-row:2;grid-column:1/-1}.partner55>blockquote{grid-row:3}.partner55-xp{grid-row:4}.partner55>.thin-track{grid-row:5}.partner55-stats{grid-row:6}.partner55-memory{grid-row:3/5}.partner55 .contract55{grid-row:5/7}.partner55-actions{grid-row:7}}
@media(max-width:599px){
 .result-rewards,.reaction63,.records55 .records55-stats{display:flex;flex-wrap:wrap;gap:8px}
 .result-rewards>div,.reaction63>div,.records55 .records55-stats>div{flex:1 1 140px;min-width:max-content;max-width:100%;padding:10px 12px}
 .result-rewards strong,.reaction63 strong,.records55 .records55-stats dd{font-size:clamp(16px,4.5vw,21px)}
 .equipment55-screen .equipment55{grid-template-columns:minmax(0,1fr)}
 .equipment55-screen .equipment55-price,.equipment55-screen .equipment55>button{grid-column:1/-1}
 .equipment55-screen .equipment55-price b{font-size:18px}
}

/* Resist older page-specific wrapping rules for whole numeric runs. */
html .polish55 :is(.cash55,.graph-scale,.editor-promotion dd,.partner55-stats dd,.equipment55-price b,.records55-stats dd,.hall-stat strong,.hall-video-views strong,.result-rewards strong,.reaction63 strong){white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
@media(max-width:599px){html .polish55 .creator-header56{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}html .polish55 .creator-identity56{flex:1 1 140px;min-width:140px}html .polish55 .creator-tools56{flex:0 1 auto;min-width:max-content;max-width:100%;margin-left:auto;justify-content:flex-end}html .polish55 .creator-wallet56{min-width:max-content}html .polish55 .cash55{font-size:14px;line-height:1.5}html .polish55 .creator-tools56>.icon-button{flex-shrink:0}}

/* Result dialogs are portalled outside the game shell. */
html .game-modal .result-big>strong.result-view-number{font-size:clamp(18px,calc(140cqi / (var(--number-chars) + 3)),44px)!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
/* A small arrival signal; the integer subscriber total stays the visual focus. */
.hero-number55:has(.subscriber-arrival-note){flex-wrap:wrap}
.subscriber-arrival-note{display:inline-flex;align-items:center;gap:5px;flex-basis:100%;order:1;font-size:11px;line-height:1.5;color:#c7c8ce;font-weight:400;text-shadow:0 1px 3px #0008}
.subscriber-arrival-note i{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.65}
.subscriber-arrival-tick{animation:subscriber-arrival .28s ease-out}
@keyframes subscriber-arrival{from{opacity:.7;transform:translateY(1px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.subscriber-arrival-tick{animation:none}}
html[data-cw-reduced="true"] .subscriber-arrival-tick{animation:none}
/* Three-second rolling counter: real text remains measurable; animated copies are silent. */
html .hero-number55 .subscriber-roll{position:relative;display:inline-grid;vertical-align:baseline;overflow:hidden;line-height:1.25;perspective:300px}
.subscriber-roll-measure{visibility:hidden;grid-area:1/1;white-space:nowrap}
.subscriber-roll-current,.subscriber-roll-previous{position:absolute;inset:0;white-space:nowrap;display:block;will-change:transform,opacity;backface-visibility:hidden}
.subscriber-roll-current.is-rolling{animation:subscriber-roll-in .42s cubic-bezier(.18,.7,.2,1) both}
.subscriber-roll-previous{animation:subscriber-roll-out .42s cubic-bezier(.18,.7,.2,1) both}
@keyframes subscriber-roll-in{from{transform:translateY(100%) rotateX(-28deg);opacity:.3}to{transform:translateY(0) rotateX(0);opacity:1}}
@keyframes subscriber-roll-out{from{transform:translateY(0) rotateX(0);opacity:1}to{transform:translateY(-100%) rotateX(28deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.subscriber-roll-current.is-rolling,.subscriber-roll-previous{animation:none}.subscriber-roll-previous{display:none}}
html[data-cw-reduced="true"] .subscriber-roll-current.is-rolling{animation:none}
html[data-cw-reduced="true"] .subscriber-roll-previous{display:none}
/* A compact result overview. Only optional comments/analysis expand the scroll area. */
html .game-modal.result-modal{width:calc(100% - 24px);max-width:760px!important;height:auto;max-height:calc(var(--cw-visual-height,100dvh) - 24px)!important;padding:0!important;gap:0;display:flex;flex-direction:column}
html .result-modal .compact-result{max-height:calc(var(--cw-visual-height,100dvh) - 24px);flex:0 1 auto;min-height:0}
html .result-modal .compact-result .result-scroll58{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;margin:0;padding:18px 18px 12px;min-width:0;overflow-y:auto}
html .compact-result .result-scroll58>*{grid-column:auto;grid-row:auto;margin:0;min-width:0}
html .compact-result .result-head{padding-right:52px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 8px}
html .compact-result .result-head>.eyebrow{font-size:11px;line-height:1.4}
html .compact-result .result-head>.muted-note{font-size:11px;grid-column:2;grid-row:1;white-space:nowrap}
html .compact-result .result-head>h2{font-size:18px;line-height:1.45;margin:0;padding:0;grid-column:1/-1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:keep-all;overflow-wrap:anywhere}
html .compact-result .original-title51{grid-column:1/-1;font-size:11px}
html .compact-result .result-big{gap:2px;position:relative;padding-top:3px;line-height:1.25}
html .compact-result .result-rank61{min-height:22px;margin:0}
html .compact-result .result-rank61-badge{font-size:12px;min-height:22px;padding:2px 9px}
html .compact-result .result-big>span{font-size:11px;line-height:1.4}
html .game-modal .compact-result .result-big>strong.result-view-number{font-size:clamp(18px,calc(140cqi / (var(--number-chars) + 3)),34px)!important;line-height:1.25;margin:0}
html .compact-result .result-big .wave-note{position:absolute;right:0;bottom:0;height:16px;max-width:50%;overflow:hidden;font-size:10px;white-space:nowrap}
html .compact-result .graph-container{padding-top:0;margin:0}
html .compact-result .graph-scale{font-size:10px;margin-bottom:1px}
html .compact-result .graph-container>svg{width:100%;height:clamp(85px,15dvh,125px);margin:0}
html .compact-result .graph-x{font-size:10px;padding:1px 0 0;line-height:1.4}
html .compact-result .result-key-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
html .compact-result .result-key-metrics>.reaction63,html .compact-result .result-key-metrics>.result-rewards{display:contents}
html .compact-result .result-key-metrics>.reaction63>p{display:none}
html .compact-result .result-key-metrics>:is(.reaction63,.result-rewards)>div{min-width:0;max-width:100%;padding:9px 11px;background:var(--surface2);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:4px}
html .compact-result .result-key-metrics span{font-size:12px;line-height:1.4}
html .compact-result .result-key-metrics strong{font-size:clamp(14px,4.2vw,20px);line-height:1.25;font-weight:650;margin:0;white-space:nowrap;overflow-wrap:normal;word-break:normal;letter-spacing:-.035em}
html .compact-result .result-key-metrics.wide-numbers>:is(.reaction63,.result-rewards)>div{grid-column:1/-1}
html .compact-result .result-more{border-top:1px solid var(--line);font-size:13px}
html .compact-result .result-more>summary{min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;color:var(--soft);list-style:none}
html .compact-result .result-more>summary:after{content:'⌄';font-size:16px}
html .compact-result .result-more[open]>summary:after{content:'⌃'}
html .compact-result .result-more .result-detail-title{font-size:14px;line-height:1.6;margin:8px 0;word-break:keep-all;overflow-wrap:anywhere}
html .compact-result .result-more .result-tier{margin:8px 0}
html .compact-result .result-more .comments{margin:14px 0}
html .result-modal .compact-result .result-bottom{padding:10px 18px max(10px,env(safe-area-inset-bottom));margin:0;border-top:1px solid var(--line);background:var(--surface);flex-shrink:0}
html .result-modal .compact-result .result-bottom>button{width:100%;max-width:none;min-height:46px;font-size:15px;margin:0}
html .result-modal .compact-result .result-bottom>p{font-size:11px;line-height:1.4;margin:5px 0 0}
@media(min-width:900px){html .result-modal .compact-result .result-scroll58{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px 22px;padding:22px}html .compact-result .result-head{grid-column:1/-1}html .compact-result .result-big{grid-column:1;grid-row:2}html .compact-result .graph-container{grid-column:1;grid-row:3}html .compact-result .result-key-metrics{grid-column:2;grid-row:2/4;align-self:center}html .compact-result .result-more{grid-column:1/-1}html .result-modal .compact-result .result-bottom{padding-inline:22px}}
@media(max-height:650px){html .result-modal .compact-result .result-scroll58{gap:7px;padding-top:14px}html .compact-result .graph-container>svg{height:80px}html .compact-result .result-key-metrics>:is(.reaction63,.result-rewards)>div{padding:7px 10px}}
@media(prefers-reduced-motion:reduce){html .compact-result .result-more{scroll-behavior:auto}}
html .hero-number55 .subscriber-roll>span{font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit;margin:0}
