.factor-workspace .panel{margin-bottom:18px}.factor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.factor-heading h2{margin:0}.factor-table-wrap{overflow:auto;margin-top:16px}.factor-workspace table{border-collapse:collapse;width:100%;font-size:14px}.factor-workspace th,.factor-workspace td{text-align:left;padding:12px;border-bottom:1px solid #d8e4e0;min-width:90px}.factor-workspace small,.factor-dialog small{display:block;color:#58716a;font-size:12px}.factor-status{display:inline-block;padding:4px 8px;border-radius:6px;background:#fff0cb;font-size:13px}.factor-status[data-status="통과"]{background:#daf3e3;color:#176043}.factor-status[data-status="미달"]{background:#ffe2df;color:#92352c}.factor-dialog{padding:0;width:min(850px,94vw);max-height:88vh;border:1px solid #b8d4c9;border-radius:16px;color:#223b32;overflow:hidden}.factor-dialog::backdrop{background:#163b3266}.factor-modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;background:#eef8f2;border-bottom:1px solid #c9ded2}.factor-modal-head h2{margin:0;font-size:20px}.factor-modal-head button{flex-shrink:0}.factor-modal-body{overflow:auto;max-height:calc(88vh - 75px);padding:20px}.factor-modal-body label{display:block;margin:10px 0}.factor-modal-body input:not([type=checkbox]),.factor-modal-body select,.factor-modal-body textarea{max-width:100%;width:100%;box-sizing:border-box}.factor-modal-body input[type=checkbox]{width:auto}.factor-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.factor-row{padding:12px;margin:12px 0;border:1px solid #d6e5df;border-radius:10px;background:#fbfdfb}.factor-previews{display:flex;gap:12px;overflow:auto}.factor-previews figure{margin:0;flex:0 0 160px}.factor-previews canvas{width:160px;height:auto}.factor-previews figcaption{font-size:12px;overflow-wrap:anywhere}#factor-joined canvas{max-width:100%;height:auto}#factor-error{color:#a22c21}.factor-dialog details{margin:12px 0}.factor-dialog summary{cursor:pointer}.factor-dialog textarea{min-height:100px}.factor-workspace p{line-height:1.6}@media(max-width:600px){.factor-modal-body{padding:12px}.factor-field-grid{grid-template-columns:1fr}.factor-heading h2{font-size:18px}}body[data-view="factors"] #stats,body[data-view="factors"] .release-toolbar{display:none}
.factor-individual-heading{margin-bottom:10px}.factor-individual-heading>strong{font-size:17px}.factor-individual-heading p{font-size:12px;margin:4px 0;color:#63786e}.factor-management{border:1px solid #dce7de;border-radius:8px;padding:7px 10px;background:#f8fbf8;font-size:12px}.factor-management>summary{font-weight:600;color:#52715d}.factor-management .toolbar{gap:6px}.factor-management button{font-size:12px;padding:7px 9px}.factor-dialog:has(.factor-receipt-grid){width:min(660px,94vw)}.factor-dialog:has(.factor-receipt-grid)>.factor-modal-body{padding:14px 18px}.factor-receipt-tools{display:grid;grid-template-columns:minmax(0,1fr) 125px auto;align-items:end;gap:8px;margin:12px 0 6px}.factor-receipt-tools label{margin:0;font-size:11px;color:#65786d}.factor-receipt-tools label>span{display:block;margin-bottom:3px}.factor-receipt-tools input,.factor-receipt-tools select{height:34px;padding:5px 8px;font-size:13px}.factor-receipt-tools>button{height:34px;padding:5px 9px;font-size:12px;white-space:nowrap}.factor-receipt-caption{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#68816d;margin:8px 0}.factor-receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 9px;padding:12px 10px 14px;background:#f0f1ee;border-left:4px solid #c4cac2;border-radius:6px}.factor-receipt-grid .factor-chip{position:relative;display:block;min-width:0;height:51px;margin:0;padding:6px 30px 18px 9px;border:1px solid #c5c7cf;border-radius:6px;background:linear-gradient(135deg,#f9f9fa 35%,#e9e9eb 36%,#f0f0f2 75%,#e1e2e8 76%);box-shadow:0 2px 0 #afb0bd;color:#774821;text-align:left;font-size:13px;line-height:1.15;cursor:pointer;transition:filter .12s,transform .12s;overflow:visible}.factor-chip:hover{filter:brightness(1.04);transform:translateY(-1px)}.factor-chip:focus-visible{outline:3px solid #497e41;outline-offset:2px}.factor-chip-name{display:flex;align-items:center;gap:6px;height:22px;min-width:0}.factor-chip-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.factor-chip-name i{width:12px;height:12px;flex:0 0 12px;border:1px solid #fff;border-radius:50%;box-shadow:0 0 1px 1px #a3aac2;background:radial-gradient(circle at 35% 30%,white,#acbce7 60%,#94a6d1)}.factor-chip-stars{position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);display:flex;white-space:nowrap;color:#ffcd29;text-shadow:0 1px 1px #946020;font-size:21px;letter-spacing:-2px;line-height:20px}.factor-star-empty{color:#d9dadc;text-shadow:0 1px 1px #939193}.factor-chip-review{position:absolute;bottom:3px;right:6px;width:12px;height:12px;line-height:12px;font-size:9px;background:#ffffffc7;border-radius:50%;color:#826a38;text-align:center}.factor-receipt-grid [data-tone="blue"]{background:linear-gradient(140deg,#4cccf2 35%,#29b7ec 36%,#54c9f5 80%,#22a9e8 81%);border-color:#70b9dd;color:#fff;box-shadow:0 2px 0 #6b9cc0}.factor-receipt-grid [data-tone="red"]{background:linear-gradient(140deg,#ffa0ce 35%,#f57cb8 36%,#ff9fce 80%,#ed73b0 81%);border-color:#e7a7c8;color:#fff;box-shadow:0 2px 0 #c58aa8}.factor-receipt-grid [data-tone="green"]{background:linear-gradient(140deg,#a4dc51 35%,#8dcd2d 36%,#b1e25a 80%,#82c62e 81%);border-color:#a1c866;color:#fff;box-shadow:0 2px 0 #91ab6c}.factor-chip[data-tone="red"] i{background:radial-gradient(circle at 35% 30%,white,#e3abdb 60%,#bc9bd6)}.factor-chip[data-tone="green"] i{background:radial-gradient(circle at 35% 30%,#fff8a5,#ffd233 60%,#e8ac11)}.factor-empty{grid-column:1/-1;text-align:center;font-size:13px;color:#6b7d6f;padding:24px 0}.factor-evaluation-note{font-size:12px;color:#58705e}.factor-evaluation-note>summary{font-weight:500}.factor-editor-footer{position:sticky;bottom:-15px;background:#fffef8f5;padding:10px 0 4px;border-top:1px solid #dbe4d6;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;z-index:1}.factor-editor-footer>label{font-size:11px;line-height:1.5;margin:0;max-width:58%}.factor-editor-footer .toolbar{flex-wrap:nowrap;gap:5px}.factor-editor-footer button{font-size:12px;padding:8px 10px;white-space:nowrap}.factor-chip-dialog{width:min(420px,92vw)}.factor-chip-dialog .factor-modal-body{padding:16px}.factor-chip-dialog .factor-field-grid{grid-template-columns:1fr 1fr}.factor-chip-dialog .factor-check{display:flex;align-items:center;gap:7px;font-size:13px}.factor-chip-edit-actions{display:flex;justify-content:space-between;gap:8px;margin:14px 0 8px}.factor-chip-dialog small{font-size:11px;line-height:1.5}@media(max-width:480px){.factor-dialog:has(.factor-receipt-grid)>.factor-modal-body{padding:10px}.factor-receipt-grid{gap:7px;padding:10px 6px}.factor-receipt-grid .factor-chip{font-size:11px;height:49px;padding-left:6px;padding-right:21px}.factor-chip-name{gap:4px}.factor-chip-name i{width:10px;height:10px;flex-basis:10px}.factor-receipt-tools{grid-template-columns:minmax(0,1fr) 100px auto;gap:5px}.factor-editor-footer{bottom:-11px}.factor-editor-footer>label{max-width:48%}.factor-individual-heading>strong{font-size:15px}}

.factor-receipt-grid .factor-chip{padding-right:9px}.factor-receipt-grid .factor-chip:has(.factor-chip-invalid){padding-right:58px}.factor-chip-invalid{position:absolute;right:6px;top:9px;padding:2px 4px;border-radius:4px;background:#fff9;color:#bd2020;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap}.factor-effect-info{padding:8px 10px;background:#f2f6ef;border-radius:6px;font-size:12px;line-height:1.55}.factor-condition-info{font-size:11px;line-height:1.55;color:#65745f}.factor-info-sources{font-size:11px}.factor-info-sources p{margin:6px 0}.factor-chip-dialog .factor-modal-body{max-height:calc(85vh - 75px)}
.factor-information-dialog{width:min(720px,94vw)}.factor-encyclopedia{width:min(800px,94vw)}.factor-grant-facts h3,.factor-skill-facts h3{font-size:16px;margin:16px 0 8px}.factor-grant-facts h3 small,.factor-skill-facts h3 small{display:inline;font-size:11px;font-weight:400}.factor-grant-facts ul{margin:8px 0;padding-left:20px;font-size:13px;line-height:1.7}.factor-skill-facts p{font-size:13px;line-height:1.6}.factor-fact-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.factor-fact-metrics>div{background:#f2f6ef;padding:9px;border-radius:7px}.factor-fact-metrics dt{font-size:11px;color:#6a7869}.factor-fact-metrics dd{margin:5px 0 0;font-size:13px;line-height:1.4}.factor-reference-tag{display:block;font-size:10px;color:#8b6b35}.factor-skill-facts .factor-reference-note{font-size:11px;color:#71694e;background:#fff8df;padding:8px;border-radius:6px}.factor-skill-branch{border-top:1px solid #e0e7dc;margin-top:12px;padding-top:8px}.factor-skill-branch h4{font-size:12px;margin:0 0 6px;color:#607159}.factor-skill-branch code{display:block;white-space:pre-wrap;word-break:break-word;font-size:11px;padding:4px;background:#f5f6f3}.factor-skill-effect{color:#385b37;font-weight:600}.factor-fact-no-skill,.factor-fact-source{font-size:11px;color:#657362}.factor-dictionary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.factor-dictionary-grid>button{text-align:left;font-size:13px;padding:9px 12px}.factor-dictionary-grid small{font-size:10px;margin-top:3px}.skill-info-link{display:inline;padding:0;border:0;background:none;box-shadow:none;color:inherit;text-align:left;font:inherit;text-decoration:underline;text-decoration-color:#9eb19a;text-underline-offset:3px;cursor:pointer}.skill-info-link:hover{background:#eef6e9;color:#3d663a}.factor-chip-dialog{width:min(560px,94vw)}.factor-rule-notice{font-size:12px;margin:12px 0;color:#705639}.factor-rule-notice p{font-size:12px}@media(max-width:480px){.factor-fact-metrics{grid-template-columns:1fr}.factor-dictionary-grid{grid-template-columns:1fr}}
.factor-chip-edit-actions{position:sticky;bottom:-16px;padding:9px 0;background:#fffef9f5;z-index:2;border-top:1px solid #e1e6da}.factor-information-dialog .factor-modal-body,.factor-chip-dialog .factor-modal-body{overscroll-behavior:contain}.factor-ban-explanation{font-size:12px;color:#b32222;background:#fff0ed;padding:8px;border-radius:5px}
