1/* Simulate — pool pickers, roster strip, my sims. Layout never scrolls the2 * page: pools and the sims table scroll internally. */34.sim-wrap {5 flex: 1;6 min-height: 0;7 display: grid;8 grid-template-rows: minmax(0, 1.15fr) auto minmax(0, 1fr);9 gap: 1rem;10 padding-top: 1rem;11}1213/* ---------- pools ---------- */1415.pool-grid {16 min-height: 0;17 display: grid;18 grid-template-columns: repeat(3, minmax(0, 1fr));19 gap: 0.9rem;20}2122.pool {23 position: relative;24 min-height: 0;25 display: flex;26 flex-direction: column;27 gap: 0.45rem;28 border: 1px solid var(--border);29 background: var(--bg);30 padding: 0.9rem 0.6rem 0.5rem;31}32.pool-head {33 position: absolute;34 top: -0.72em;35 left: 10px;36 padding: 0 0.5em;37 background: var(--bg);38 font-family: var(--pixel);39 font-size: 1.05rem;40 letter-spacing: 0.12em;41 text-transform: uppercase;42 color: var(--accent);43 z-index: 2;44}45.pool-head::before { content: '\00BB '; color: var(--border-bright); }4647.pool-search { width: 100%; }4849.pool-list {50 flex: 1;51 min-height: 0;52 overflow-y: auto;53 scrollbar-gutter: stable;54 display: flex;55 flex-direction: column;56 gap: 0.3rem;57 padding-right: 0.15rem;58}59.pool-empty {60 color: var(--text-dim);61 font-family: var(--pixel);62 font-size: 1.05rem;63 letter-spacing: 0.06em;64 text-align: center;65 padding: 0.8rem 0;66}6768button.pool-item {69 /* icon column + two text lines: icon spans both rows, title gets the width */70 display: grid;71 grid-template-columns: auto minmax(0, 1fr);72 grid-template-rows: auto auto;73 column-gap: 0.5rem;74 align-items: center;75 width: 100%;76 text-align: left;77 text-transform: none;78 letter-spacing: 0.02em;79 background: var(--bg-inset);80 border: 1px solid var(--border-dim);81 padding: 0.28rem 0.5rem 0.24rem;82}83button.pool-item .identicon { grid-row: 1 / 3; }84button.pool-item:hover:not(:disabled) { border-color: var(--accent); }85.pool-item-label {86 display: block;87 font-size: 1.1rem;88 grid-column: 2;89 min-width: 0;90 overflow: hidden;91 text-overflow: ellipsis;92 white-space: nowrap;93}94.pool-item-sub {95 display: block;96 grid-column: 2;97 color: var(--text-dim);98 font-size: 0.92rem;99 letter-spacing: 0.03em;100 white-space: nowrap;101 overflow: hidden;102 text-overflow: ellipsis;103}104button.pool-item:hover .pool-item-label { color: var(--accent); }105106/* ---------- roster ---------- */107108.roster-card { margin-bottom: 0; }109110.roster-slots {111 display: flex;112 flex-wrap: wrap;113 gap: 0.45rem;114 margin-bottom: 0.6rem;115}116button.roster-slot {117 background: var(--bg-inset);118 border: 1px solid var(--accent-dim);119 color: var(--text);120 max-width: 16rem;121 white-space: nowrap;122 overflow: hidden;123 text-overflow: ellipsis;124}125button.roster-slot:hover:not(:disabled) { border-color: var(--danger); color: var(--danger); }126.roster-slot .slot-idx { color: var(--accent); }127.roster-slot .slot-x { color: var(--text-dim); }128button.roster-slot:hover .slot-x { color: var(--danger); }129.roster-slot.empty {130 display: inline-block;131 border: 1px dashed var(--border);132 color: var(--text-dim);133 font-family: var(--pixel);134 font-size: 1.05rem;135 letter-spacing: 0.06em;136 text-transform: uppercase;137 padding: 0.16rem 0.9rem 0.12rem;138}139140.roster-controls { margin-top: 0.2rem; }141.roster-info {142 font-family: var(--pixel);143 font-size: 1.15rem;144 letter-spacing: 0.06em;145 color: var(--text-dim);146 text-transform: uppercase;147}148.seed-label {149 font-family: var(--pixel);150 font-size: 1rem;151 color: var(--text-dim);152 letter-spacing: 0.08em;153 text-transform: uppercase;154 margin-left: auto;155}156.seed-input { width: 9.5rem; font-variant-numeric: tabular-nums; }157158.rated-note {159 margin: 0.5rem 0 0;160 color: var(--ok);161 font-family: var(--pixel);162 font-size: 1.05rem;163 letter-spacing: 0.08em;164 text-transform: uppercase;165}166.rated-note::before { content: '\25B8 '; }167168/* ---------- my sims ---------- */169170.sims-card {171 margin-bottom: 0.4rem;172 min-height: 0;173 display: flex;174 flex-direction: column;175}176.sims-card .blink { animation: cursor-blink 1s steps(1) infinite; }177.sims-scroll {178 min-height: 0;179 flex: 1;180 overflow: auto;181 scrollbar-gutter: stable;182}183184.vis-badge {185 font-family: var(--pixel);186 font-size: 0.95rem;187 letter-spacing: 0.1em;188 color: var(--text-dim);189}190.vis-badge.public {191 color: var(--ok);192 border: 1px solid var(--ok);193 padding: 0 0.35em;194}195196/* ---------- narrow screens: stack, scroll the whole wrap internally ------- */197@media (max-width: 980px) {198 .sim-wrap {199 grid-template-rows: none;200 display: block;201 overflow-y: auto;202 scrollbar-gutter: stable;203 }204 .pool-grid { grid-template-columns: minmax(0, 1fr); margin-bottom: 1rem; }205 .pool { min-height: 0; }206 .pool-list { max-height: 14rem; }207 .roster-card { margin-bottom: 1.4rem; }208 .sims-scroll { max-height: 22rem; }209}210211/* Identicons woven through pools, roster, and the sims list */212.roster-slot .identicon { margin: 0 0.35em; }213td.sim-parts .sim-part { display: inline-flex; align-items: center; margin-right: 0.8em; white-space: nowrap; }214td.sim-parts .identicon { margin-right: 0.35em; }215td.sim-parts .sim-part-name { color: var(--text-dim); }