:root{--bg:#111;--panel:#0b1216;--accent:#00c7a7;--good:#0f9;--bad:#ff6b6b;--glass:#ffffff08;--muted:#9aa3b2;--maxw:1100px}.header h1{letter-spacing:.5px;color:#e6eef3;text-wrap:balance;border-radius:8px;width:min(90%,700px);margin:0 auto 12px;padding:.75em 1.5em;font-size:clamp(1.2rem,4vw,1.8rem);font-weight:600;display:block}.header .lead{color:#aaa;border-radius:6px;width:min(90%,700px);margin:0 auto;padding:.6em 1.2em;font-size:clamp(.85rem,2.5vw,1rem);line-height:1.6;display:block}.wrappanel{grid-template-columns:1fr 520px;align-items:start;gap:18px;max-width:1200px;margin:0 auto;display:grid}.panel{background:var(--panel);border-radius:10px;padding:16px;box-shadow:0 8px 22px #0009}.controls{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.csvInputDiv{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;margin-bottom:12px;display:flex}label.small{color:var(--muted);margin-right:6px;font-size:13px}select,input[type=text],input[type=file],input[type=number]{color:#e9f3f2;background:#0b0d0f;border:1px solid #ffffff08;border-radius:8px;padding:8px 10px;font-size:13px}input[type=checkbox]{margin-right:6px;transform:scale(1.05)}textarea#csvInput{resize:vertical;color:#e6eef3;border:1px solid var(--glass);background:#090b0c;border-radius:8px;width:100%;height:220px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:13px}.small-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.btn{background:var(--accent);color:#022;cursor:pointer;border:none;border-radius:8px;padding:8px 12px;font-weight:600;transition:background .2s}.btn:hover{background:#00e0c0}.btn.ghost{color:var(--muted);background:0 0;border:1px solid #ffffff0a}#prettyBtn.active,#minBtn.active{background:var(--good);color:#021;border:1px solid var(--good);box-shadow:0 0 10px #00ff9940}#prettyBtn:not(.active),#minBtn:not(.active){color:var(--muted);opacity:.85;background:#ffffff08;border:1px solid #ffffff0d}#prettyBtn:not(.active):hover,#minBtn:not(.active):hover{opacity:1;background:#00ff991a}#prettyBtn:not(.active),#minBtn:not(.active){opacity:.7}#prettyBtn:not(.active):hover,#minBtn:not(.active):hover{opacity:1}.muted{color:var(--muted);font-size:13px}.stats{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.stat{color:var(--muted);background:#ffffff05;border-radius:8px;padding:8px 10px;font-size:13px}.preview{border:1px solid var(--glass);border-radius:8px;max-height:340px;margin-top:10px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:500px;font-size:13px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #ffffff08;padding:6px 8px}th{backdrop-filter:blur(6px);background:#0000001f;position:sticky;top:0}pre#jsonOutput{white-space:pre-wrap;word-break:break-word;border:1px solid var(--glass);color:#cfeee3;background:#060708;border-radius:8px;max-height:560px;padding:12px;font-size:13px;overflow:auto}.error{color:var(--bad);font-weight:600}.ok{color:var(--good);font-weight:600}.right-column .panel{margin-bottom:12px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.small{color:var(--muted);font-size:13px}.mapping{background:#ffffff05;border-radius:8px;margin-top:12px;padding:10px;display:block}.map-row{background:0 0;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;padding:6px;display:flex}.map-row .col-index{text-align:center;width:28px;color:var(--muted)}.map-row input.rename{color:#e6eef3;background:#0b0d0f;border:1px solid #ffffff08;border-radius:6px;flex:1;min-width:140px;padding:6px 8px}.map-row .incl{justify-content:center;width:26px;display:flex}.map-row .move{flex-wrap:nowrap;gap:6px;display:flex}.map-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.hint{color:var(--muted);margin-top:8px;font-size:13px}.details{background:#ffffff03;border-radius:6px;margin-top:6px;margin-bottom:8px;margin-left:36px;padding:10px;display:none}.details label{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.details input[type=text],.details select{width:220px}.gear-btn{color:var(--muted);cursor:pointer;background:#122428;border:none;border-radius:8px;margin-left:6px;padding:6px 8px}.gear-btn.active{color:#cfeee3;background:#163634}.type-pill{color:var(--muted);background:#ffffff05;border:1px solid #ffffff05;border-radius:999px;padding:4px 8px;font-size:12px}@media (width<=1024px){.wrap{grid-template-columns:1fr;max-width:100%}.right-column{order:2}.panel{box-sizing:border-box;width:100%}}@media (width<=768px){body{padding:16px}.wrap{box-sizing:border-box;flex-direction:column;gap:18px;width:100%;display:flex}.wrap .panel{box-sizing:border-box;border-radius:10px;width:100%;margin:0;padding:16px}.wrap input[style*=width],.wrap select[style*=width]{width:100%!important}.controls,.small-row{flex-direction:column;align-items:stretch;gap:8px}label.small{margin-bottom:4px}select,input[type=text],input[type=number],input[type=file],textarea#csvInput{box-sizing:border-box;width:100%;padding:10px 12px;font-size:.95rem}.csvInputDiv{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;margin-bottom:12px;display:flex}textarea#csvInput{min-height:180px}.btn,.btn.ghost{width:100%;margin-top:6px;padding:10px 14px;font-size:1rem}#clearBtn{margin-left:0!important}.stats{justify-content:center;gap:10px}.mapping{padding:12px}.map-row,.map-actions{flex-direction:column;align-items:stretch;gap:10px}.map-row input.rename{width:100%}.toolbar{flex-direction:column;align-items:stretch;gap:10px}.toolbar>div:first-child{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}table{min-width:unset;width:100%;display:block;overflow-x:auto}.preview,pre#jsonOutput{-webkit-overflow-scrolling:touch;overflow-x:auto}pre#jsonOutput{max-height:400px;padding:10px;font-size:.9rem}.panel:not(:last-child){margin-bottom:16px}}@media (width<=480px){.header h1{padding:.6em 1em;font-size:clamp(1rem,5vw,1.2rem)}.header .lead{padding:.5em 1em;font-size:clamp(.8rem,3.5vw,.9rem)}.btn{padding:8px;font-size:.9rem}.stat{font-size:12px}}footer{background:linear-gradient(#ffffff03,#ffffff01);border-radius:12px;justify-content:space-between;align-items:center;margin-top:60px;padding:26px;display:flex}.socials a{color:var(--muted);margin-left:10px;text-decoration:none}.wrap{max-width:var(--maxw);margin:36px auto;padding:0 20px}
