:root{font-family:system-ui,-apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:#f1f5f7;background:#101923;--panel:#1b2a35;--line:#314653;--muted:#aabfc9;--ice:#85dbf3;--red:#e98a82}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at top,#1c3341,#101923 60%);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--ice)}.shell{max-width:1400px;margin:auto;padding:16px 20px 90px}.top{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:5px 0 18px;border-bottom:1px solid var(--line);margin-bottom:23px;flex-wrap:wrap}.brand{font-size:19px;font-weight:900;letter-spacing:.06em}.sub{color:var(--muted);font-size:13px}.pill{border:1px solid #40606e;background:#152733;padding:8px 12px;border-radius:999px;font-size:13px}.pills{display:flex;gap:8px;flex-wrap:wrap}.content{animation:enter .25s ease}@keyframes enter{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}h1{font-size:clamp(25px,3.4vw,39px);margin:0 0 11px;line-height:1.2}h2{font-size:22px;margin:0 0 15px}h3{font-size:17px;margin:0 0 12px}p{line-height:1.65}.muted{color:var(--muted)}.eyebrow{color:var(--ice);letter-spacing:.15em;font-size:12px;font-weight:800;margin-bottom:10px}.card{background:linear-gradient(145deg,#20333f,#182630);border:1px solid #344b58;border-radius:18px;padding:19px;box-shadow:0 10px 20px #0002}.card.flat{box-shadow:none}.grid{display:grid;gap:17px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.hero{display:grid;grid-template-columns:minmax(200px,360px) 1fr;gap:35px;align-items:center;padding:28px 0}.hero img{width:100%;max-height:440px;object-fit:contain;border-radius:16px;filter:drop-shadow(0 13px 24px #0006)}.btn{background:#243a47;border:1px solid #466474;color:#f7fbfc;padding:12px 18px;border-radius:12px;min-height:46px;font-weight:700;transition:.2s}.btn:hover{background:#365669}.btn.primary{background:#a4e5f5;color:#10202b;border-color:#a4e5f5}.btn.danger{background:#4b262c;border-color:#8e4f57;color:#ffe6e6}.btn.ghost{background:transparent;border-color:#415462}.btn.small{font-size:13px;padding:7px 11px;min-height:36px}.btn.active{border-color:#9be6f8;background:#286077}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:20px 0}.section{margin:22px 0}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:13px}.cover-card{display:flex;gap:13px;align-items:center}.cover-card img{width:87px;height:125px;object-fit:cover;border-radius:8px}.mini{font-size:13px}.token{display:inline-flex;align-items:center;gap:5px;border:1px solid #4a6170;background:#152633;border-radius:10px;padding:7px 10px}.token img{width:22px;height:22px;object-fit:contain}.banner{background:#142c36;border:1px solid #39627a;border-radius:14px;padding:14px 18px;color:#d9f5fb;margin:14px 0}.warn{background:#312624;border-color:#6c4d40;color:#f8d8bd}.choicegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:13px}.choice{min-width:0;background:#172934;border:2px solid #314955;padding:10px;border-radius:14px;color:inherit;text-align:left}.choice.selected{border-color:var(--ice);background:#214558}.choice img{display:block;width:100%;aspect-ratio:3/4;object-fit:contain;object-position:center;border-radius:7px;background:#0e1920}.choice .name{font-weight:750;font-size:13px;display:block;margin-top:8px}.choice .desc{display:block;font-size:11px;color:var(--muted);margin-top:3px}.survivor{display:flex;gap:15px;align-items:flex-start}.survivor>img{width:135px;max-height:190px;object-fit:contain;border-radius:8px;flex:none}.survivor .info{flex:1;min-width:0}.tag{display:inline-block;font-size:12px;border:1px solid #516d78;border-radius:8px;padding:4px 7px;margin:3px 3px 3px 0;color:#c8e2eb}.tag.red{border-color:#905b5f;color:#f3b8b0}.notice{font-size:13px;color:#b7cbd3;line-height:1.6}.fields{display:flex;gap:12px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:170px}.field label{font-size:13px;color:#c7d6de;font-weight:650}input,select{width:100%;background:#101e28;color:#fff;border:1px solid #46606e;border-radius:9px;padding:11px;min-height:44px}.stepbar{display:flex;gap:7px;overflow:auto;padding:5px 0 15px}.stepbar span{white-space:nowrap;padding:8px 11px;border:1px solid #3b5360;border-radius:99px;font-size:12px;color:#9cb2be}.stepbar span.on{color:#09202a;background:#9bddee;border-color:#9bddee;font-weight:800}.board{width:100%;max-height:290px;object-fit:contain;border-radius:12px}.image-big{width:100%;max-height:65vh;object-fit:contain;border-radius:12px}.footer{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:25px;padding-top:17px;border-top:1px solid var(--line)}.modalbg{position:fixed;inset:0;background:#000c;display:grid;place-items:center;padding:18px;z-index:20}.modalbox{width:min(820px,100%);max-height:92vh;overflow:auto;background:#1b2b36;border:1px solid #608196;border-radius:18px;padding:23px}.modalbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:10px}.counter{display:flex;gap:8px;align-items:center}.counter strong{min-width:34px;text-align:center;font-size:23px}.cols{display:grid;grid-template-columns:230px 1fr;gap:22px}.darkimg{width:100%;border-radius:10px;max-height:480px;object-fit:contain}.itemlist{max-height:52vh;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:8px}.itembtn{background:#142630;border:1px solid #45606e;color:#f2f7f9;border-radius:9px;padding:7px}.itembtn img{width:100%;height:130px;object-fit:contain}.stats{display:flex;flex-wrap:wrap;gap:8px}.stat{padding:10px 12px;border:1px solid #375866;border-radius:12px;min-width:92px}.stat strong{font-size:22px;display:block}.center{text-align:center}.hidden{display:none!important}.progress{height:9px;background:#273d48;border-radius:12px;overflow:hidden}.progress>span{display:block;height:100%;background:#8bd8ee}.audio-badge{font-size:12px;color:#a6e7ca}.tiny{font-size:11px;color:#849aa7}@media(max-width:800px){.shell{padding:13px 13px 70px}.hero,.cols{grid-template-columns:1fr}.hero img{max-width:230px;margin:auto}.grid.two,.grid.three{grid-template-columns:1fr}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.survivor>img{width:100px;max-height:150px}.choicegrid{grid-template-columns:repeat(auto-fill,minmax(105px,1fr))}.card{padding:14px}.top{gap:9px}.pill{padding:6px 9px}}@media(min-width:801px) and (max-width:1050px){.grid.three{grid-template-columns:repeat(2,1fr)}}

/* v2 card metadata */
.statline{font-size:13px;color:#cbdde4;margin:7px 0;font-weight:550;line-height:1.5}
.tagline{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}
.ability{background:rgba(164,189,201,.08);border:1px solid rgba(164,189,201,.14);border-radius:8px;margin:8px 0;padding:9px 11px;font-size:13px;line-height:1.55}
.ability summary{cursor:pointer;font-weight:650;color:#d7e7f1}
.ability p{margin:8px 0 2px}
.equipped{display:flex;flex-wrap:wrap;gap:8px;margin:7px 0}
.mini-item{width:70px;font-size:11px;text-align:center;color:#bcd4dd;line-height:1.25}
.mini-item img{width:50px;height:68px;object-fit:contain;border-radius:5px;display:block;margin:auto auto 4px}
.mini-item span{display:block;word-break:keep-all}
.manage-equip{display:grid;grid-template-columns:75px 1fr;gap:12px;margin:9px 0;padding:10px;border:1px solid rgba(151,178,186,.25);border-radius:10px;align-items:center}
.manage-equip img{width:65px;height:95px;object-fit:contain}
@media(max-width:600px){.survivor .info{min-width:0}.equipped{gap:5px}.mini-item{width:60px}}

/* v2.1 · 생존자 기본 수치와 장착 장비 효과 구분 */
.stat-metrics{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0}
.stat-metrics span{display:inline-flex;align-items:center;gap:5px;background:#102732;border:1px solid #416877;border-radius:8px;padding:5px 8px;font-size:12px;white-space:nowrap}
.stat-metrics strong{color:#a4e5f5;font-size:15px}
.stat-legend{font-size:11px;color:#afc7d2;line-height:1.45}
.stat-mod{background:#173e47;border-left:3px solid #92dded;margin-top:6px;border-radius:6px;padding:7px 9px;font-size:12px;color:#d5f2f9}
.gear-effects,.action-gear{margin-top:9px;padding:11px;background:#132632;border:1px solid #3b6171;border-radius:10px;font-size:12px;line-height:1.55}
.gear-line{padding:6px 0;border-bottom:1px dashed #355460;color:#d8e9ef}
.gear-line:last-child{border-bottom:0}
.gear-line.gear-done{opacity:.6}
.action-gear{margin-bottom:12px}

/* v2.2 검증된 카드 규칙 요약 블록 */
.rule-card{border:1px solid #536b78;border-radius:12px;background:rgba(50,85,104,.16);padding:12px 14px;margin:12px 0;line-height:1.65}.rule-card p{margin:7px 0}.rule-card b{color:#c4ecfa}.rule-card .stat-metrics{margin-top:8px}.choice .desc{line-height:1.5}.modalbox .rule-card{margin-top:14px}
/* v2.2.1 — 명확한 플레이어 색상, 분리된 선 플레이어, 주사위 및 연쇄물림 */
.first-player-panel{border:2px solid #c2a774!important;margin:18px 0 25px;background:linear-gradient(120deg,#322f29,#1b2a35)}
.first-player-title{display:flex;align-items:center;gap:18px}.first-player-title h2{margin:0 0 4px}.first-marker{object-fit:contain;max-width:76px;width:76px;max-height:96px;filter:drop-shadow(0 4px 9px #0009)}
.player-picker{border-left:7px solid var(--owner)!important}.owner-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}
.owner-tab{border:2px solid var(--owner)!important;color:var(--owner);background:#152431;border-radius:10px;padding:12px;flex:1;min-width:118px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:7px}
.owner-tab.current{background:color-mix(in srgb,var(--owner) 21%,#162331);box-shadow:0 0 0 2px var(--owner)}
.owner-chip{--owner:#9adfee;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--owner);color:var(--owner);background:#152431;border-radius:99px;padding:7px 12px;font-weight:800}
.owner-dot{display:inline-block;width:11px;height:11px;flex:none;border-radius:100%;background:var(--owner)}.selected-owner{display:flex;align-items:center;gap:13px;color:var(--owner)}
.owner-choice.selected{border:3px solid var(--owner)!important;background:color-mix(in srgb,var(--owner) 17%,#162431)!important;box-shadow:inset 0 0 0 1px var(--owner)}.owner-choice.locked{opacity:.48;filter:grayscale(.48);border:3px dashed var(--owner)!important;cursor:not-allowed}
.owner-choice .desc{font-size:13px;font-weight:700}.owner-summary{display:grid;gap:9px}.owner-summary-item{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:9px;border-left:4px solid var(--owner);background:#152b38;border-radius:9px}.owner-summary-item>span:last-child{flex:1;min-width:130px}
.intro-paper{border:2px solid #b29d77;background:#ebdfc6;color:#32271e;padding:18px 20px;border-radius:10px;line-height:1.85;max-height:67vh;overflow-y:auto;box-shadow:0 6px 18px #0005}.intro-paper .eyebrow{color:#875537}.intro-paper h3{font-size:22px;color:#6c281c}.intro-paper p{margin:13px 0;white-space:pre-wrap;line-height:1.93;font-size:16px}
.die-owner{border:2px solid var(--owner);border-radius:12px;padding:15px;background:#172a36;margin:10px 0}.die-grid,.dice-grid{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.die-entry{display:flex;align-items:center;flex-direction:column;gap:6px;min-width:63px}.die-entry select{font-size:12px;max-width:91px}.die-entry small{font-size:11px;color:#b6d1de}
.die-face,.mini-die{display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#ebf9ff,#90bdd4);color:#102d3a;border:1px solid #b4e7fb;box-shadow:0 5px 0 #3f7085,0 8px 12px #0007;border-radius:12px;width:58px;height:58px;font-size:30px;font-weight:900}.die-entry.die-spent{opacity:.44;filter:grayscale(.8)}.die-pick{border:1px solid #406679;background:#19313f;padding:14px;border-radius:11px;margin:13px 0}.dice-choice{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.die-pick-item{border:2px solid #638aa0;border-radius:10px;display:flex;gap:5px;align-items:center;flex-direction:column;padding:9px;min-width:84px;cursor:pointer}.die-pick-item:has(input:checked){border-color:#9be6f3;background:#35556a;box-shadow:0 0 0 1px #91dbe8}.die-pick-item.forbidden{opacity:.4;cursor:not-allowed}.die-pick-item small{font-size:10px}.mini-die{width:42px;height:42px;font-size:23px}.mode-actions{margin:9px 0 15px}.roll-floor{min-height:170px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;overflow:hidden;padding:20px 12px}.roll-piece{width:66px;height:66px;border-radius:13px;background:linear-gradient(140deg,#e8f9ff,#7aafc7);box-shadow:0 6px 0 #437387,0 12px 16px #0008;display:grid;place-items:center;color:#24536a;font-size:31px;animation:die-bounce 1.35s cubic-bezier(.25,.7,.4,1) both}.roll-piece.roll-risk{background:linear-gradient(140deg,#e49e95,#983c4a);color:#fff;clip-path:polygon(28% 0,72% 0,100% 28%,100% 72%,72% 100%,28% 100%,0 72%,0 28%);border-radius:0}
@keyframes die-bounce{0%{transform:translate(-40px,-90px) rotate(-80deg) scale(.7)}18%{transform:translate(28px,0) rotate(100deg) scale(1.14)}32%{transform:translate(40px,-46px) rotate(180deg)}51%{transform:translate(4px,0) rotate(270deg) scale(1.05)}65%{transform:translate(-18px,-23px) rotate(330deg)}82%{transform:translate(5px,0) rotate(380deg)}93%{transform:translate(0,-6px) rotate(370deg)}100%{transform:translate(0,0) rotate(360deg)}}
.bite-target{border:2px solid #eab4ad;padding:17px;border-radius:12px;background:#372a31;margin:14px 0}.bite-target h2{font-size:23px}.result-symbol{font-size:64px;text-align:center;color:#d4acbd}
@media(max-width:600px){.first-marker{max-width:58px;width:58px}.owner-tab{min-width:110px;padding:9px}.intro-paper{max-height:none}.die-grid,.dice-grid{gap:7px}.die-face{width:49px;height:49px;font-size:24px}.dice-choice{gap:7px}.die-pick-item{min-width:66px;padding:7px}.roll-piece{width:53px;height:53px}}
@media(prefers-reduced-motion:reduce){.roll-piece{animation-duration:.12s}}

/* v2.2.2: two physical dice logging modes */
.physical-entry-settings{background:#1d3442;border:1px solid #45657a;padding:12px;border-radius:11px;margin:10px 0}
.physical-entry-settings>b{display:block;margin-bottom:6px}
.physical-onuse-box{margin:13px 0 5px;padding:13px;background:#213d4a;border:1px solid #52768c;border-radius:11px}
.physical-onuse-box>b{display:block;color:#b6e5f4;margin-bottom:5px}
.physical-add-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.physical-add-row select{flex:1;min-width:90px}
.die-pick .notice{line-height:1.55}
@media (max-width:430px){.physical-entry-settings .mode-actions{display:grid;grid-template-columns:1fr}.physical-add-row .btn{flex:1}}

/* v2.2.3: distinguish tracked spent dice from physical-only play */
.die-entry.die-spent{opacity:.55;filter:grayscale(.75)}
.die-entry.die-spent .die-face{text-decoration:line-through;text-decoration-thickness:3px}
.die-entry.die-spent small{color:#f0c9a4;font-weight:800}
.sync-die{background:#223d4c;border:1px solid #52748a;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px;min-width:116px;cursor:pointer}
.sync-die:has(input:checked){border-color:#a4e5cf;background:#2a4c4d}
.sync-die small{font-size:11px;color:#b5cbd5}
.manual-only{border-color:#79abbf}

/* v2.3: secondary controls are collapsed by default, Crossroads stays secret */
.advanced-controls{border:1px solid var(--line,#455965);border-radius:12px;padding:10px 12px;margin:6px 0 14px;background:rgba(80,117,135,.08)}
.advanced-controls summary{cursor:pointer;font-weight:750;min-height:30px;list-style-position:inside}
.advanced-controls[open] summary{margin-bottom:12px}
.cross-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid #42576b;border-radius:10px;background:rgba(32,70,82,.26);margin:12px 0}
.cross-status b{color:#a7e1ec}.cross-status small{margin-left:auto;color:#b8cad2}
@media(max-width:540px){.cross-status{gap:4px}.cross-status small{width:100%;margin-left:0}}

/* v2.4: keep colony settlement compact and readable on iPad & phone. */
.compact-adjust{max-width:340px;margin:10px 0}
.compact-adjust input{max-width:180px}
.forecast-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line,#355062);padding:9px 3px;flex-wrap:wrap}
.forecast-row span{flex:1;min-width:75px}
.forecast-row small{font-size:12px;opacity:.75}
.forecast-row:last-child{border:0}

/* v2.5: optional card effects, without crowding default player actions */
.action-gear-select{margin:14px 0;padding:12px;border:1px solid #5c7889;border-radius:12px;background:rgba(118,177,193,.08)}
.gear-option-list{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}
.gear-option-list .btn.active{box-shadow:inset 0 0 0 2px #8fd7e9}
.gear-standalone{padding:12px;margin:10px 0;border:1px solid #527085;border-radius:10px}
.gear-standalone .btn{margin-top:6px}

/* v2.5.2: Interactive Crossroads story, selection and outcome workflow */
.cross-steps{font-size:13px;font-weight:700;line-height:1.7;padding:11px 13px;margin:10px 0;background:#233c4b;border:1px solid #527489;border-radius:10px;color:#dcf3fa}
.cross-choice-list{display:flex;flex-direction:column;gap:13px;margin:15px 0}
.cross-choice-card{display:block;text-align:left;width:100%;padding:13px!important;border:2px solid #5b879a!important;border-radius:13px!important;background:#203849!important;color:#ecf5f8!important;cursor:pointer}
.cross-choice-card:hover,.cross-choice-card:focus-visible{border-color:#b6ecff!important;background:#2a4d60!important}
.cross-choice-card b{display:block;margin-bottom:9px;color:#b6e9f6}
.cross-choice-card span{display:block;text-align:center;margin-top:10px;font-weight:800}
.cross-choice-image{display:block;width:100%;max-width:530px;height:auto;margin:10px auto;border-radius:7px;image-rendering:auto}
.cross-selected-image{background:#e0c995;border:1px solid #937f60}
.cross-story-image{max-width:420px!important}
.cross-check{display:flex;align-items:flex-start;gap:12px;line-height:1.65;padding:14px;border:1px solid #6ba8ba;border-radius:10px;background:#254456;margin:15px 0;cursor:pointer}
.cross-check input{margin-top:4px;width:22px;height:22px;flex:none}
@media(max-width:560px){.cross-choice-card{padding:8px!important}.cross-steps{font-size:12px}.cross-check{font-size:13px}}

/* v2.5.3: card-derived state effects, separate from physical card instructions */
.cross-auto-box{margin:14px 0;padding:13px 15px;background:#183d3c;border:1px solid #74ada3;border-radius:11px;color:#dbf5ea}
.cross-auto-box>b{display:block;margin-bottom:8px;color:#b1f4dc}
.cross-auto-items{display:grid;gap:6px;padding:8px 0 5px;font-size:14px;font-weight:650}
.cross-manual-note{border-left:3px solid #f0c286;background:#3b3530;padding:11px;margin-top:9px;color:#ffe7bf;font-size:13px;line-height:1.6}

/* v2.5.8 — six colony entrances, compact buttons and one-time board reconciliation */
.zentrances{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:12px 0}
.zloc{border:1px solid var(--line,#52606b);border-radius:12px;background:rgba(16,31,42,.25);padding:10px}
.zloc .sectionhead{margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px}
.zent-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.zent{padding:7px 5px;border:1px solid rgba(159,190,201,.3);border-radius:8px;text-align:center;font-size:12px;line-height:1.5}
.zent>b{display:block;font-size:11px}
.zsync-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px;margin:10px 0}
.zsync-item{padding:8px;border:1px solid rgba(159,190,201,.35);border-radius:10px}
.zsync-item>b{display:block;font-size:12px;margin-bottom:5px}
.zsync-item label{display:block;font-size:12px;margin-bottom:5px}
.zsync-item input,.zsync-grid input{width:100%;min-width:0;padding:7px;font-size:16px}
.z-wave-log{max-height:180px;overflow-y:auto;border:1px solid rgba(159,190,201,.25);border-radius:8px;padding:6px 10px}
.z-wave-log p{margin:5px 0;font-size:13px;line-height:1.45}
@media (max-width:430px){.zentrances{grid-template-columns:1fr}.zent-row{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v2.5.9: 한 번에 선택하는 추가 카드 확인 횟수와 자동 소음 계산 */
.search-record-panel{border:1px solid #527a8a;border-radius:13px;background:#162c38;padding:16px;margin:17px 0}
.search-record-panel h3{margin:0 0 8px;color:#c0eff7}
.search-noise-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:12px 0}
.search-noise-btn{padding:10px 4px;min-height:50px;font-size:15px}
.search-noise-btn.active{background:#a4e5f5;color:#152a33;border-color:#b7edff;box-shadow:inset 0 0 0 2px #286477}
.search-result-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dashed #385b6a}
.search-result-row:last-of-type{border-bottom:0}
.search-result-row strong{font-size:20px;color:#bdf1fe}
.search-ability-choice{display:flex;align-items:flex-start;gap:10px;padding:13px 10px;border-radius:10px;background:#21404a;margin:11px 0;font-size:14px;line-height:1.6;cursor:pointer}
.search-ability-choice input{width:20px;height:20px;flex-shrink:0;margin-top:2px}
.search-preview{background:#102733;border:1px solid #456c7b;padding:12px;margin:14px 0 0;border-radius:10px}
.search-preview .notice{font-size:13px;margin:11px 0 0}
@media(max-width:440px){.search-record-panel{padding:12px}.search-noise-grid{gap:5px}.search-noise-btn{font-size:13px;padding:7px 2px}}

/* v2.6.0 survivor ability picker */
.ability-inline{margin:12px 0;border:1px solid rgba(160,202,217,.35);border-radius:12px;padding:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:rgba(39,76,96,.18)}
.ability-inline>small{display:block;flex-basis:100%;line-height:1.6} .ability-inline>.btn{margin-left:auto}
.ability-option{border:1px solid rgba(160,202,217,.3);border-radius:12px;padding:14px;margin:10px 0;background:rgba(29,62,82,.18)}
.ability-option .notice{margin:8px 0} .ability-option .btn{margin-top:5px} .ability-check{display:block;margin:12px 0;padding:12px;background:rgba(42,89,112,.25);border-radius:8px} 

/* v2.6.3 공동목표 진행률 · 좁은 모바일 화면 대응 */
.goal-checks{display:grid;gap:7px;margin:12px 0}.goal-check{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid var(--border,#344556);border-radius:9px;align-items:center}.goal-check span{min-width:0}.goal-check b{white-space:nowrap;font-variant-numeric:tabular-nums}.goal-check small{opacity:.7;font-size:11px}.goal-ok{background:rgba(35,145,110,.12)}.goal-missing{background:rgba(190,120,40,.08)}.goal-required{border:2px solid #d2a15f!important}.goal-manual strong{font-size:21px;min-width:45px;text-align:center}.goal-status{display:grid;gap:12px}@media(max-width:580px){.goal-check{align-items:start;flex-direction:column;gap:4px}}

/* v2.6.6 private end-game check and persistent effect status */
.secret-review-list{display:grid;gap:10px;margin:14px 0}.secret-review-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid rgba(150,170,185,.2)}.secret-review-row small.secret-status{display:block;margin-top:3px;opacity:.75}.secret-choice-group{margin:14px 0;padding:13px;border:1px solid rgba(140,169,185,.3);border-radius:10px}.secret-choice-group .actions{margin-top:10px}.win-result{color:#67deb5}.lose-result{color:#f3ac9d}.effect-line{border-left:3px solid #85a5ad;margin:10px 0;padding:5px 10px;font-size:.92em;line-height:1.5}

.action-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:10000;padding:14px 20px;background:#163c3b;color:#fff;border:1px solid #80bdb7;border-radius:12px;max-width:90vw;pointer-events:none;box-shadow:0 4px 20px #0008}

/* v2.6.8 — survivor roster / explicit deaths, removals, transfers */
.roster-panel{margin:14px 0;padding:14px;border:1px solid rgba(188,210,225,.28);border-radius:14px;background:rgba(30,46,57,.66)}
.roster-panel summary{cursor:pointer;font-weight:700;line-height:1.6} .roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:9px;margin-top:12px}
.roster-owner{border-left:4px solid var(--owner);padding:9px;background:rgba(255,255,255,.04);border-radius:6px}.roster-owner p{margin:5px 0;font-size:.87em}
.survivor-notice{border:2px solid #cf8966;padding:15px}.survivor-notice h3{margin:0 0 8px}

/* v2.6.9 · die face review is explicit before any consequence is committed */
.risk-result-panel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;background:linear-gradient(155deg,#102d3a,#19242e);border:2px solid #77b3ca;border-radius:17px;padding:24px 18px;margin:16px 0;box-shadow:0 10px 28px #0003}
.risk-face{display:grid;place-items:center;width:112px;height:112px;border-radius:20px;background:#263c48;border:3px solid #92d8e7;font-size:68px;font-weight:900;color:#f7e1be;box-shadow:inset 0 0 18px #0006}
.risk-result-panel h2{margin:4px 0;font-size:29px}
.risk-result-panel p{margin:2px 0;max-width:540px;font-size:15px;line-height:1.6}
.attack-type-select{margin:12px 0}.attack-type-select .btn{flex:1;min-width:160px}
@media(max-width:520px){.risk-face{height:90px;width:90px;font-size:56px}.risk-result-panel{padding:19px 12px}.risk-result-panel h2{font-size:24px}}

/* v2.6.10: original-card-based spoiler-free choice cards and ongoing-effects sources */
.cross-choice-card .cross-title-only{width:100%;height:auto;max-height:72px;object-fit:contain;object-position:center;display:block;min-height:32px;}
.cross-choice-card{min-height:70px;padding:12px;cursor:pointer;}
.cross-reference{padding:12px;border-radius:12px;border:1px solid var(--line,#69727c);margin:10px 0;background:rgba(255,255,255,.04)}
.cross-reference p{margin:6px 0 10px;}
.persistent-cross-summary{margin:10px 0;}
.cross-story-image{height:auto;max-height:62vh;object-fit:contain;}
.cross-original-image{height:auto;max-height:65vh;object-fit:contain;}

/* v2.6.11: survivor name and real-card validation */
.survivor-add-caption{display:flex;flex-direction:column;align-items:center;gap:4px;line-height:1.35;margin-top:5px;font-size:.93em;}
.survivor-add-caption small{opacity:.75;font-size:.78em;}
.equip-verify{display:flex;align-items:center;gap:10px;margin:14px 0;padding:12px;background:rgba(255,255,255,.06);border-radius:9px;}
.equip-verify input{width:18px;height:18px;flex-shrink:0;}

/* v2.6.12 — compact sticky, read-only live goal and location overview */
.board-hud{position:sticky;top:0;z-index:11;margin:0 0 18px;background:rgba(16,30,40,.97);border:1px solid #456679;border-radius:15px;padding:9px 11px;box-shadow:0 7px 24px #0008;backdrop-filter:blur(10px)}
.board-hud-goal{width:100%;background:transparent;color:inherit;border:0;text-align:left;padding:4px 7px 10px;display:flex;gap:12px;align-items:center;cursor:pointer;border-bottom:1px solid #3a586b}
.board-hud-goal:hover,.board-hud-goal:focus-visible{background:rgba(153,214,231,.08);border-radius:8px}
.hud-goal-symbol{font-size:27px;flex:none}.hud-goal-content{min-width:0;flex:1;display:grid;gap:6px}
.hud-goal-line{display:flex;gap:9px;align-items:center;min-width:0}
.hud-goal-name{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.hud-goal-difficulty{flex:none;font-size:11px;color:#9ed7e9;border:1px solid #528097;padding:3px 6px;border-radius:7px}
.hud-goal-more{margin-left:auto;flex:none;font-size:12px;color:#b8deea}
.hud-goal-sub{font-size:12px;color:#c0d5df}.hud-goal-sub b{color:#fff}
.hud-progress{height:5px;background:#314553;border-radius:10px;overflow:hidden;width:100%}
.hud-progress>span{display:block;height:100%;background:#88d8ee}
.board-hud-locations{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain;padding:9px 2px 2px}
.board-location-chip{flex:none;background:#213744;border:1px solid #527085;color:#eefaff;border-radius:10px;display:flex;align-items:center;gap:8px;padding:8px 10px;min-height:37px;font-size:12px;cursor:pointer}
.board-location-chip:hover,.board-location-chip:focus-visible{background:#34576b;border-color:#a1d6ea}
.board-location-chip b{font-size:13px}.board-location-chip span{white-space:nowrap;color:#b7d9e5}
.board-goal-detail{display:grid;grid-template-columns:minmax(120px,205px) minmax(0,1fr);gap:17px;align-items:start}
.board-goal-image{min-width:0}.board-goal-card-image{width:100%;max-height:52vh;object-fit:contain;border-radius:9px}
.board-goal-checks{min-width:0}.board-goal-checks h3{margin-top:3px}
.board-place-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}
.board-place-metrics>div{background:#172c3a;border:1px solid #466477;border-radius:10px;padding:11px 7px;text-align:center;display:grid;gap:6px}
.board-place-metrics small{color:#b7d6e1;font-size:11px}.board-place-metrics strong{font-size:20px}
.board-place-roster{margin:17px 0}.board-place-survivor{border-left:4px solid var(--owner);background:#1c3644;padding:10px 12px;margin:7px 0;border-radius:7px;display:flex;gap:9px;align-items:center}
.board-place-survivor>div{min-width:0;display:grid;gap:3px}.board-place-survivor b{font-size:14px}.board-place-survivor small{color:#bcd5e1;font-size:12px}
.hud-survivor-status{color:var(--owner)}
.board-place-entrances{margin-top:14px}.board-place-entrance{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;border-bottom:1px solid #375668;padding:8px 0;font-size:12px}
.board-place-entrance b{margin-right:auto}
@media(max-width:620px){.board-hud{padding:7px 8px;border-radius:10px;margin-bottom:13px}.board-hud-goal{gap:7px}.hud-goal-symbol{font-size:22px}.hud-goal-name{font-size:13px}.hud-goal-more{font-size:11px}.hud-goal-difficulty{font-size:10px}.hud-goal-sub{font-size:11px}.board-location-chip{gap:6px;padding:7px 8px}.board-goal-detail{grid-template-columns:1fr}.board-goal-image{text-align:center}.board-goal-card-image{max-width:190px;max-height:240px}.board-place-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.board-hud{backdrop-filter:none}}
