/* 쪼개기 시트 (설계서/쪼개기-시트.md) — GH_ 형식: 축=행 × 시간=열 */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Pretendard Variable',Pretendard,-apple-system,sans-serif; background:#F4F5F7; color:#26272E; font-size:13px; }
.zg-wrap { max-width:1400px; margin:0 auto; padding:24px 28px 90px; }
.zg-top { display:flex; align-items:center; gap:14px; margin-bottom:16px; flex-wrap:wrap; }
.zg-top h1 { font-size:19px; }
.zg-back { font-size:12px; font-weight:700; color:#5C5CE0; text-decoration:none; }
.zg-pill { font-size:11px; font-weight:800; background:#F4F4FE; color:#5C5CE0; border-radius:8px; padding:3px 10px; vertical-align:3px; }
.zg-save { margin-left:auto; font-size:11.5px; color:#8a8a93; }
.zg-empty { background:#fff; border:1px solid #e6e7ee; border-radius:12px; padding:26px; color:#777; line-height:1.8; }
.zg-empty code { background:#f1f2f6; border-radius:5px; padding:2px 7px; font-size:12px; }

.panel { background:#fff; border:1px solid #e6e7ee; border-radius:12px; padding:14px 18px; margin-bottom:14px; box-shadow:0 1px 6px rgba(20,22,40,.04); }
.sheet-head { display:flex; gap:10px; align-items:center; margin:2px 0 10px; flex-wrap:wrap; }
.sheet-head b { font-size:13.5px; }
.sheet-head .m { font-size:11.5px; color:#8a8a93; }
.sheet-head a { color:#5C5CE0; text-decoration:none; font-weight:700; font-size:11.5px; }
.badge { font-size:10.5px; font-weight:800; border-radius:6px; padding:2px 8px; }
.badge.fail { background:#FDECEC; color:#C43F3F; }
.badge.win { background:#EEFBF3; color:#1F8E55; }
.badge.ref { background:#F4F4FE; color:#5C5CE0; }
.edit-hint { font-size:11.5px; color:#8a6d1a; background:#FFF9E8; border:1px solid #EFE2B0; border-radius:7px; padding:4px 10px; }

.zz-scroll { overflow-x:auto; border:1px solid #e2e3ec; border-radius:10px; }
table.zz { border-collapse:collapse; table-layout:fixed; }
.zz th, .zz td { border:1px solid #E4E4EF; font-size:11.3px; line-height:1.45; vertical-align:top; }
.zz thead th { background:#6C5CE7; color:#fff; font-weight:800; padding:7px 6px; text-align:center; width:120px; font-size:11.5px; }
.zz thead th.axis { background:#5B4BD1; width:96px; position:sticky; left:0; z-index:3; }
.zz td.axis { background:#F3F1FD; color:#4a3fae; font-weight:800; padding:8px; position:sticky; left:0; z-index:2; font-size:11.5px; width:96px; }
.zz td { padding:6px 7px; background:#fff; width:120px; word-break:keep-all; }
tr.r-hwaja td.c { background:#FFF6D8; }
tr.r-jeon  td.c { background:#E3F2FD; }
tr.r-audio td.c { background:#FDE8EC; }
tr.r-text  td.c { background:#FFF6D8; }
tr.r-emo   td.c { background:#E8F8EE; }
tr.r-mind  td.c { background:#EFEBFC; }
td.c:empty::after { content:'·'; color:#d5d5df; }
td.c { cursor:text; min-height:20px; }
td.c.editing { outline:2.5px solid #5C5CE0; outline-offset:-2.5px; background:#fff !important; }
td.dev  { outline:2.5px solid #E05252; outline-offset:-2.5px; }
td.diff { outline:2.5px solid #2FA96A; outline-offset:-2.5px; }
tr.r-scene td { padding:4px; background:#fafafc; }
tr.r-scene img { width:100%; border-radius:5px; display:block; }
tr.r-scene video { width:100%; border-radius:5px; display:block; background:#000; }
.scene-add { width:100%; margin-top:4px; font-size:10px; font-weight:700; border:1.5px dashed #c9c9dd; background:#fff; color:#8a8a93; border-radius:6px; padding:5px 4px; cursor:pointer; font-family:inherit; }
.scene-add:hover { color:#5C5CE0; border-color:#B9B0F5; }
.badge.plan { background:#FFF3E8; color:#C46A1F; }

.vtabs { display:flex; gap:6px; }
.vtab { font-size:11.5px; font-weight:800; border:1.5px solid #d5d6e2; background:#fff; color:#6a6b76; border-radius:8px; padding:4px 12px; cursor:pointer; font-family:inherit; }
.vtab.sel { background:#6C5CE7; color:#fff; border-color:#6C5CE7; }
.result-in { font-size:11.5px; border:1px solid #d5d6e2; border-radius:7px; padding:3px 8px; width:110px; font-family:inherit; }

.fb-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
@media (max-width:900px){ .fb-grid { grid-template-columns:1fr; } }
.fb-col h4 { font-size:12px; color:#82838f; margin-bottom:7px; }
.diag { border-radius:9px; padding:9px 12px; font-size:12.3px; margin-bottom:7px; line-height:1.55; }
.diag.red { background:#FDF0F0; border:1px solid #F2CACA; color:#8f3030; }
.diag.amber { background:#FFF8EC; border:1px solid #F0DBB0; color:#8a6414; }
.diag.green { background:#F0FAF4; border:1px solid #CBEBD8; color:#1F6B45; }
.diag .t { font-weight:800; margin-right:6px; }
.fb-item { background:#FFFDF2; border:1px solid #F0E6BE; border-radius:8px; padding:8px 11px; font-size:12.3px; margin-bottom:7px; line-height:1.55; }
.fb-item .who { color:#8a6d1a; font-weight:800; margin-right:5px; }
.fb-item .fv { font-size:10px; color:#b0a26a; margin-left:6px; }
.fb-input { width:100%; border:1px solid #e2e3ea; border-radius:8px; padding:8px 11px; font-size:12.5px; font-family:inherit; resize:vertical; }
.authors { display:flex; gap:5px; margin:8px 0 6px; font-size:11.5px; color:#8a8a93; align-items:center; }
.achip { font-size:11px; font-weight:800; border:1.5px solid #d5d6e2; background:#fff; border-radius:14px; padding:3px 10px; cursor:pointer; font-family:inherit; color:#555; }
.achip.sel { background:#26272E; color:#fff; border-color:#26272E; }
.btn { font-size:11.5px; font-weight:800; background:#6C5CE7; color:#fff; border:none; border-radius:8px; padding:6px 14px; cursor:pointer; font-family:inherit; margin-top:6px; }

.diffbox { background:#F0FAF4; border:1px solid #CBEBD8; border-radius:10px; padding:10px 14px; margin-bottom:10px; }
.diffbox b.t { display:block; font-size:12.5px; color:#1F6B45; margin-bottom:6px; }
.diffrow { font-size:12.3px; padding:5px 0; border-bottom:1px dashed #cfe8d8; line-height:1.6; }
.diffrow:last-child { border-bottom:none; }
.diffrow .at { font-weight:800; color:#1F8E55; margin-right:6px; }
.was { color:#a05252; text-decoration:line-through; }
.now { color:#1F6B45; font-weight:700; }
.arrow { color:#9aa; margin:0 4px; }

.zg-toast { position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(20px); background:#26272E; color:#fff; font-size:12.5px; border-radius:9px; padding:9px 18px; opacity:0; pointer-events:none; transition:all .18s; }
.zg-toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
.zg-perf { font-size:12px; font-weight:600; color:#1F6B45; background:#F0FAF4; border:1px solid #CBEBD8; border-radius:8px; padding:5px 12px; font-variant-numeric:tabular-nums; }
.zg-perf b { font-size:12.5px; }
.zg-perf.bad { color:#8f3030; background:#FDF0F0; border-color:#F2CACA; }

/* 레퍼런스 창고 (따봉 아카이브) picker */
.wh-hint { font-size:11.5px; color:#8a8a93; margin:4px 0 8px; }
.wh-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(128px,1fr)); gap:9px; }
.wh-item { border:1.5px solid #e2e3ec; border-radius:9px; overflow:hidden; cursor:pointer; background:#fff; }
.wh-item:hover { border-color:#6C5CE7; box-shadow:0 2px 8px rgba(92,92,224,.15); }
.wh-item img { width:100%; height:150px; object-fit:cover; display:block; background:#f0f0f4; }
.wh-noimg { height:150px; display:flex; align-items:center; justify-content:center; color:#bbb; font-size:11px; background:#f0f0f4; }
.wh-b { font-size:11px; font-weight:800; padding:5px 8px 1px; }
.wh-m { font-size:10px; color:#8a8a93; padding:0 8px 5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wh-add { display:flex; gap:8px; align-items:center; margin-bottom:10px; flex-wrap:wrap; }
.wh-add input[type=text], .wh-add input:not([type]) { flex:1; min-width:240px; border:1px solid #d5d6e2; border-radius:8px; padding:7px 11px; font-size:12px; font-family:inherit; }

/* 홀립호 QA (2026-09-29) */
.holip-bar { display:flex; gap:12px; align-items:center; flex-wrap:wrap; background:#FBFAF6; border:1.5px solid #EDE8D8; border-radius:9px; padding:8px 12px; margin-bottom:10px; font-size:12px; }
.holip-bar b { font-size:12.5px; }
.holip-bar .m { color:#8a8a93; font-size:11px; }
.holip-bar label { display:inline-flex; gap:5px; align-items:center; font-weight:700; color:#4a4b55; cursor:pointer; }
