/* 도구 페이지 공통 스타일 — 모든 도구/안내 페이지가 공유합니다. */
body {font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;background: #f7f7f7;margin: 0;padding: 0;}
.container {max-width: 480px;margin: 40px auto;padding: 24px;background: #fff;border-radius: 12px;box-shadow: 0 6px 18px rgba(0,0,0,0.08);}
.container.wide {max-width: 560px;}
header a {font-size: 14px;text-decoration: none;color: #2563eb;}
.badge {display: inline-block;margin-top: 12px;font-size: 12px;color: #b45309;background: #fffbeb;border: 1px solid #fde68a;border-radius: 999px;padding: 2px 10px;}
h1 {margin-top: 16px;font-size: 22px;}
.badge + h1 {margin-top: 12px;}
h2 {font-size: 17px;margin-top: 28px;}
.desc {font-size: 14px;color: #666;margin-bottom: 20px;}
.desc:has(+ .notice) {margin-bottom: 8px;}
.notice {font-size: 13px;color: #b45309;background: #fffbeb;border: 1px solid #fde68a;border-radius: 8px;padding: 10px 12px;margin-bottom: 16px;}
input[type="text"] {width: 100%;padding: 14px;font-size: 16px;border: 1px solid #ddd;border-radius: 8px;box-sizing: border-box;}
.file-input {width: 100%;padding: 24px 14px;font-size: 14px;border: 2px dashed #d1d5db;border-radius: 8px;box-sizing: border-box;background: #fafafa;cursor: pointer;}
textarea {width: 100%;min-height: 240px;margin-top: 12px;padding: 12px;font-size: 14px;font-family: monospace;border: 1px solid #ddd;border-radius: 8px;box-sizing: border-box;resize: vertical;}
/* 메인 실행 버튼 */
.primary-btn {width: 100%;margin-top: 16px;padding: 14px;font-size: 16px;background: #3b82f6;color: #ffffff;border: none;border-radius: 8px;cursor: pointer;}
.primary-btn:disabled {background: #93c5fd;cursor: not-allowed;}
/* 보조 버튼 */
.secondary-btn {padding: 12px 0;font-size: 14px;background: #f9fafb;color: #111827;border: 1px solid #d1d5db;border-radius: 8px;cursor: pointer;}
.secondary-btn:hover {background: #e5e7eb;}
.copy-btn {margin-top: 12px;width: 100%;background: #10b981;color: #fff;border: none;}
.copy-btn:hover {background: #059669;}
.options {margin-top: 20px;display: flex;gap: 12px;justify-content: center;flex-wrap: wrap;font-size: 14px;}
.options select {margin-left: 6px;padding: 6px;}
.result {margin-top: 24px;font-size: 18px;font-weight: bold;text-align: center;}
.status {margin-top: 16px;font-size: 14px;color: #555;text-align: center;min-height: 20px;}
/* 변환 결과 목록 */
.result-list {margin-top: 16px;display: flex;flex-direction: column;gap: 12px;}
.result-item {display: flex;align-items: center;gap: 12px;padding: 12px;background: #f9fafb;border-radius: 8px;border: 1px solid #e5e7eb;}
.result-item img {width: 56px;height: 56px;object-fit: cover;border-radius: 6px;background: #eee;flex-shrink: 0;}
.thumb-contain .result-item img {object-fit: contain;}
.result-info {flex: 1;min-width: 0;display: flex;flex-direction: column;gap: 6px;}
.result-name {font-size: 13px;color: #333;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
.download-btn {display: inline-block;width: fit-content;text-decoration: none;text-align: center;padding: 8px 16px;}
.result-error {color: #b91c1c;background: #fef2f2;border-color: #fecaca;font-size: 13px;}
.file-list {margin-top: 16px;font-size: 13px;color: #444;padding-left: 20px;}
.file-list li {margin-bottom: 4px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
/* 환율 계산기 */
.currency-picker {position: relative;}
.currency-list {position: absolute;top: calc(100% + 4px);left: 0;right: 0;z-index: 20;max-height: 260px;overflow-y: auto;background: #fff;border: 1px solid #d1d5db;border-radius: 8px;box-shadow: 0 8px 20px rgba(0,0,0,0.12);-webkit-overflow-scrolling: touch;}
.currency-item {padding: 12px 14px;font-size: 14px;cursor: pointer;}
.currency-item:hover {background: #eff6ff;}
.currency-item.active {background: #dbeafe;font-weight: 600;}
.currency-item.empty {color: #999;cursor: default;}
.mode-radios {display: flex;gap: 24px;justify-content: center;margin-top: 16px;font-size: 14px;}
.mode-radios label {display: flex;align-items: center;gap: 6px;cursor: pointer;}
.mode-radios input[type="radio"] {width: 16px;height: 16px;accent-color: #3b82f6;cursor: pointer;}
.rate-box {margin-top: 16px;padding: 14px;background: #f9fafb;border: 1px solid #e5e7eb;border-radius: 8px;}
.rate-display {font-size: 17px;font-weight: bold;text-align: center;}
.rate-meta {margin-top: 6px;font-size: 12px;color: #888;text-align: center;}
.calc-label {display: block;margin-top: 16px;margin-bottom: 6px;font-size: 14px;font-weight: 600;color: #333;}
.rate-box .calc-label {margin-top: 0;}
.rate-source {margin-top: 12px;font-size: 11px;color: #aaa;text-align: center;}
.rate-source a {color: #999;}
/* 원 단위 변환 페이지 */
.unit-buttons {margin-top: 20px;display: grid;grid-template-columns: repeat(2, 1fr);gap: 10px;}
.unit-buttons button {padding: 10px 14px;border-radius: 8px;border: 1px solid #ddd;background: #f9fafb;cursor: pointer;font-size: 14px;}
.unit-buttons button:hover {background: #e5e7eb;}
.unit-nav {margin-top: 32px;font-size: 14px;text-align: center;}
.unit-nav a {margin: 0 6px;color: #2563eb;text-decoration: none;}
/* 광고/푸터 */
.adsense {margin: 20px 0;}
footer {margin-top: 32px;font-size: 12px;color: #999;text-align: center;}
footer a {color: #666;text-decoration: none;margin: 0 6px;}
/* PDF 렌더링용 히든 컨테이너 (text-to-pdf, docx-to-pdf, pptx-to-pdf) */
#pdfSource, #slideSource {position: absolute;top: 0;left: 0;z-index: -1;width: 700px;padding: 20px;background: #fff;color: #111;font-family: -apple-system, sans-serif;}
#slideSource {padding: 24px;white-space: pre-wrap;word-break: break-word;}
#slideSource h3 {margin: 0 0 12px;font-size: 18px;}
#pdfSource h1, #pdfSource h2, #pdfSource h3 {margin-top: 0.6em;}
#pdfSource pre {white-space: pre-wrap;word-break: break-word;font-family: monospace;}
#pdfSource img {max-width: 100%;}
#pdfSource table {border-collapse: collapse;}
#pdfSource table td, #pdfSource table th {border: 1px solid #999;padding: 4px 8px;}
