/* Cycles1 controller chrome; phase cards own their separate presentation. */
body[data-cycle-phase] .cycle-parent{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:90px;max-width:122px;padding:3px 7px;border:1px solid #7f8057;border-radius:3px;background:#1e2e27;color:#eddbaf;font:13px/16px system-ui}
body[data-cycle-phase] .cycle-parent>strong{font-size:16px;line-height:20px}
body[data-cycle-phase] .cycle-parent-title{font:700 16px/20px Georgia,serif;color:#eed6a6;padding:7px}
body[data-cycle-phase] .cycle-goal{position:relative;display:flex!important;gap:4px;align-items:center;min-width:180px;max-width:360px;padding:4px 5px 17px}
body[data-cycle-phase] .cycle-goal>.primary-goal{flex:1;min-width:0;width:auto;max-width:none;font:700 16px/20px Georgia,serif}
body[data-cycle-phase] .cycle-goal #questTarget{min-width:64px;width:auto!important;flex:0 0 auto;min-height:32px;padding:2px 5px}
body[data-cycle-phase] .cycle-goal #questTarget .quest-target-face{display:flex;flex-direction:column;gap:0}
body[data-cycle-phase] .cycle-goal #questTarget small{font:12px/14px system-ui}
body[data-cycle-phase] .cycle-goal-purpose{position:absolute;bottom:1px;left:5px;right:5px;font:12px/14px system-ui;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;color:#ecd18e}
body[data-cycle-phase] #cyclePanel{height:100%;min-height:0;max-height:100%;overflow:auto}
body[data-cycle-phase] #cycleScout{min-height:24px;padding:1px 4px;font:13px/18px system-ui;display:inline-flex;align-items:center;gap:2px}
body[data-cycle-phase] #cycleScout[hidden],body[data-cycle-phase] #cycleFinish[hidden]{display:none!important}
body[data-cycle-phase] #cycleScout>.icon{height:18px;width:18px}
body[data-cycle-phase] #cycleFinish{min-height:29px;padding:3px 7px;font:14px/18px system-ui}
body[data-cycle-phase] #cycleScoutPanel .overlay-card{height:auto;max-height:calc(100dvh - 24px);width:min(500px,calc(100vw - 24px))}
body[data-cycle-phase] #cycleScoutContent ol{display:grid;gap:8px;padding-left:24px}
body[data-cycle-phase] #cycleScoutContent li{padding:6px;border:1px solid #887c58;background:#1d332b;font:16px/22px system-ui}
body[data-cycle-phase] #cycleScoutContent p{font:14px/20px system-ui}
body[data-cycle-phase] .cycle-morale-penalty{display:block;font:12px/14px system-ui;color:#ffc1a4}
@media(max-width:700px){body[data-cycle-phase] .cycle-parent{min-width:75px;max-width:90px;padding:3px 5px}body[data-cycle-phase] .cycle-goal{flex:1;min-width:0;max-width:none}body[data-cycle-phase] .cycle-goal>.primary-goal{font-size:14px;line-height:18px}body[data-cycle-phase] .formation .section-line:has(#cycleScout:not([hidden])) h2{display:none}body[data-cycle-phase] #cycleScout>span{display:none}body[data-cycle-phase] .cycle-parent-title{font-size:14px;line-height:18px}}
@media(max-height:500px){body[data-cycle-phase] .cycle-parent{min-width:70px}body[data-cycle-phase] .cycle-goal{padding-bottom:3px;min-width:140px}body[data-cycle-phase] .cycle-goal-purpose{display:none}body[data-cycle-phase] .cycle-parent-title{font-size:14px;line-height:18px}}

body[data-cycle-phase] #cyclePanel{width:calc(100% - 76px);max-width:calc(100% - 76px)}
body[data-cycle-phase="day"] #cyclePanel .cycle-heading{display:none}
@media(max-width:700px){body[data-cycle-phase] #cyclePanel{width:calc(100% - 48px);max-width:calc(100% - 48px)}}
@media(max-height:500px){body[data-cycle-phase] #cyclePanel{width:calc(100% - 48px);max-width:calc(100% - 48px)}}

/* Keep the goal and Work control inside the real header allocation. */
body[data-cycle-phase="night"] #enemyStatus{max-height:74px;align-items:center}
body[data-cycle-phase] .cycle-goal{flex-direction:row!important;width:272px;min-width:0;height:70px;max-height:70px;box-sizing:border-box}
body[data-cycle-phase] .cycle-goal #questTarget{max-width:86px;min-height:42px}
body[data-cycle-phase] #cycleScoutContent li strong{margin-left:5px}
body[data-cycle-phase] #cycleScoutContent li p{margin:4px 0 0}
body[data-cycle-phase] .enemy .unit-threat-rank{display:none!important}
@media(min-width:701px) and (min-height:501px) and (max-height:650px){body[data-cycle-phase="night"][data-style="hybrid"][data-progression="xp"] #game{--hybrid-hand-height:144px!important}}
@media(max-width:700px) and (min-height:501px){body[data-cycle-phase="night"][data-style="hybrid"][data-progression="xp"] #game{--hybrid-hand-height:185px!important}}
@media(max-height:500px){body[data-cycle-phase="night"] #enemyStatus{max-height:54px}body[data-cycle-phase] .cycle-goal{width:210px;height:50px;max-height:50px;padding-bottom:3px}body[data-cycle-phase] .cycle-goal>.primary-goal{font-size:14px;line-height:17px}body[data-cycle-phase] .cycle-goal #questTarget{min-height:32px}}
body[data-cycle-phase] #hand .hybrid-effect-symbols small{margin-left:4px}

/* A complete choice keeps its commit control in the phase viewport. */
body[data-cycle-phase] #cyclePanel .cycle-heading{display:none}
body[data-cycle-phase] #cyclePanel .cycle-situation p{display:none}
body[data-cycle-phase] #cyclePanel .cycle-shell{height:100%;min-height:0;padding-block:4px;gap:4px}
body[data-cycle-phase] #cyclePanel .cycle-card{min-height:0;gap:3px;padding:6px}
body[data-cycle-phase] #cyclePanel .cycle-card-art{min-height:40px;max-height:75px;height:60px;flex:1 1 50px}
body[data-cycle-phase] #cyclePanel .cycle-choice-grid{padding-bottom:3px}
body[data-cycle-phase] #cyclePanel .cycle-inspect[open] p{position:absolute;z-index:10;inset:auto 4px 34px;max-height:180px;overflow:auto;box-shadow:0 0 0 2px #82764f}
@media(max-width:700px) and (min-height:501px){body[data-cycle-phase] #cyclePanel .cycle-choice-grid{flex:1;min-height:0}body[data-cycle-phase] #cyclePanel .cycle-card{height:100%;min-height:0}body[data-cycle-phase] #cyclePanel .cycle-card-art{max-height:100px;flex:1 1 50px}body[data-cycle-phase] #cyclePanel .cycle-page-nav{min-height:34px}}
@media(max-height:500px){body[data-cycle-phase] #cyclePanel .cycle-page-nav{display:flex;gap:5px;justify-content:center;flex:none;height:25px}body[data-cycle-phase] #cyclePanel .cycle-page-nav button{min-width:28px;padding:0 6px}body[data-cycle-phase] #cyclePanel .cycle-page-nav span{display:none}body[data-cycle-phase] #cyclePanel .cycle-choice-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;flex:1;min-height:0}body[data-cycle-phase] #cyclePanel .cycle-card{flex:0 0 100%;width:100%;position:relative;padding:3px 5px 3px 108px;gap:1px;min-height:0}body[data-cycle-phase] #cyclePanel .cycle-card-art{position:absolute;left:4px;top:28px;width:98px;height:120px;max-height:120px}body[data-cycle-phase] #cyclePanel .cycle-card-title{margin-left:-101px}body[data-cycle-phase] #cyclePanel .cycle-card-title h3{font-size:16px;line-height:18px}body[data-cycle-phase] #cyclePanel .cycle-card :is(p,li,label){font-size:14px;line-height:16px}body[data-cycle-phase] #cyclePanel .cycle-forecast ul{flex-direction:row;flex-wrap:wrap;gap:2px 8px}body[data-cycle-phase] #cyclePanel select{min-height:24px;padding:1px}body[data-cycle-phase] #cyclePanel .cycle-hero-label{flex-direction:row;align-items:center}body[data-cycle-phase] #cyclePanel .cycle-commit{min-height:26px;padding:2px}body[data-cycle-phase] #cyclePanel .cycle-inspect summary{padding:1px}body[data-cycle-phase] #cyclePanel .cycle-situation h3{font-size:16px;line-height:18px}}

body[data-cycle-phase] button.cycle-goal-purpose{min-height:14px;height:16px;padding:0;border:0;background:none;color:#ecd18e;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
body[data-cycle-phase] .cycle-marked-target{box-shadow:0 0 0 2px #e0b74f!important}
body[data-cycle-phase] .cycle-marked-target .hybrid-unit-name{color:#ffdf88!important}
/* Portrait ability cards keep their full keyword rail and a dedicated art window. */
body[data-cycle-phase="night"][data-style="hybrid"][data-progression="xp"] #handSection #hand>.ability{flex:0 1 136px!important;max-width:136px!important}
body[data-cycle-phase="night"][data-style="hybrid"][data-progression="xp"] #handSection #hand>.ability:not(.loot-card)>strong{padding-inline:20px!important;font-size:14px!important;line-height:16px!important}
body[data-cycle-phase="night"][data-style="hybrid"][data-progression="xp"] #handSection #hand>.ability>.hybrid-card-detail{gap:1px;padding:1px 2px}
body[data-cycle-phase="night"] #hand .hybrid-effect-symbols{gap:1px 5px;font-size:14px;line-height:16px}
@media(min-width:701px) and (min-height:501px) and (max-height:650px){
 body[data-cycle-phase="night"][data-style="hybrid"][data-progression="xp"] #game{--hybrid-hand-height:204px!important;--hybrid-control-row:0px!important;grid-template-rows:minmax(120px,1fr) var(--hybrid-field-row) var(--hybrid-hand-height) 0}
 body[data-cycle-phase="night"] #game>.controls{position:absolute;right:50px;bottom:calc(var(--hybrid-hand-height) + 5px);height:31px;max-width:255px;z-index:5}
 body[data-cycle-phase="night"] #game>.controls #battleResponse{display:none}
}
@media(min-width:1100px) and (min-height:680px){body[data-cycle-phase="night"] #handSection #hand>.ability{flex-basis:168px!important;max-width:168px!important}}
@media(max-width:700px) and (min-height:501px){body[data-cycle-phase="night"][data-style="hybrid"][data-progression="xp"] #game{--hybrid-hand-height:230px!important}body[data-cycle-phase="night"] #handSection #hand>.ability{flex-basis:150px!important;max-width:150px!important}}
@media(max-height:500px){body[data-cycle-phase="night"] #handSection #hand>.ability{flex:1 1 0!important;max-width:none!important}}

body[data-cycle-phase="night"][data-style="hybrid"][data-progression="xp"][data-view="expedition"][data-phase="battle"] #game>#handSection #hand>.ability{flex-basis:150px!important;max-width:150px!important}
body[data-cycle-phase="night"][data-style="hybrid"][data-progression="xp"][data-view="expedition"][data-phase="battle"] #game>#handSection #hand>.ability:not(.loot-card)>strong{padding:2px 36px 2px 18px!important;overflow-wrap:normal}
body[data-cycle-phase="night"] #handSection #hand .effect-art-secondary{display:none}
@media(max-width:700px) and (min-height:501px){body[data-cycle-phase="night"][data-style="hybrid"][data-progression="xp"] #game{--hybrid-hand-height:215px!important}}
@media(max-height:500px){body[data-cycle-phase="night"][data-style="hybrid"][data-progression="xp"][data-view="expedition"][data-phase="battle"] #game>#handSection #hand>.ability{flex:1 1 0!important;max-width:none!important}}

@media(max-height:500px){body[data-cycle-phase] .cycle-goal{padding-bottom:15px}body[data-cycle-phase] button.cycle-goal-purpose{display:block;height:14px;min-height:14px;font-size:12px;line-height:14px}}
