*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-primary-light: #3b82f6;--color-primary-bg: #eff6ff;--color-primary-border: #bfdbfe;--color-heading: #1f2937;--color-text: #333333;--color-text-secondary: #4b5563;--color-text-muted: #6b7280;--color-text-faint: #9ca3af;--color-bg: #f9f9f9;--color-card: #ffffff;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-success: #059669;--color-success-bg: #ecfdf5;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-warning-border: #fde68a;--color-error: #dc2626;--color-error-bg: #fef2f2;--color-error-border: #fecaca;--font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-mono: "Consolas", "Monaco", "Courier New", monospace;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 2px 10px rgba(0, 0, 0, .05);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .08);--shadow-xl: 0 12px 40px rgba(0, 0, 0, .12);--transition: .2s ease;--max-width: 960px}html{scroll-behavior:smooth}body{font-family:var(--font-family);line-height:1.6;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-primary-dark)}img{max-width:100%;height:auto}.site-container{max-width:var(--max-width);margin:0 auto;padding:0 1rem;min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:2rem 0}.site-header{background:var(--color-card);border-bottom:1px solid var(--color-border);padding:1rem 0;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb}.site-header .header-inner{max-width:var(--max-width);margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-logo{font-size:1.25rem;font-weight:700;color:var(--color-heading);display:flex;align-items:center;gap:.5rem}.site-logo span{color:var(--color-primary)}.header-nav{display:flex;align-items:center;gap:1.5rem}.header-nav a{color:var(--color-text-muted);font-size:.9rem;font-weight:500;transition:color var(--transition)}.header-nav a:hover{color:var(--color-primary)}.privacy-banner{background:var(--color-primary-bg);border:1px solid var(--color-primary-border);border-radius:var(--radius-md);padding:.75rem 1rem;display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#1e40af;margin-bottom:1.5rem}.privacy-banner .icon{font-size:1.1rem;flex-shrink:0}.hero-section{background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;padding:1.5rem 1rem;text-align:center;margin-bottom:2rem}.hero-content{max-width:var(--max-width);margin:0 auto}.hero-title{font-size:1.8rem;font-weight:800;margin-bottom:.3rem;color:#fff}.hero-subtitle{font-size:1rem;opacity:.9;color:#fff;line-height:1.4}.page-title{font-size:2rem;font-weight:700;color:var(--color-heading);margin-bottom:.5rem}.page-subtitle{font-size:1.05rem;color:var(--color-text-muted);margin-bottom:2rem}.has-seo-shadow{position:relative;z-index:1}.seo-shadow-text{display:block;color:inherit;opacity:.6;font-size:.95em;font-weight:inherit;line-height:inherit;margin-top:-.9em;margin-bottom:.5rem;padding-left:1.5rem;position:relative;z-index:-1;pointer-events:none;-webkit-user-select:none;user-select:none}.page-title .seo-shadow-text{font-size:.9em;padding-left:3.2rem;margin-top:-.7em;margin-bottom:0}.privacy-banner .seo-shadow-text{padding-left:1.5rem;margin-top:-1em;margin-bottom:0}.breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text-muted);margin-bottom:1.5rem;flex-wrap:wrap}.breadcrumb a{color:var(--color-text-muted)}.breadcrumb a:hover{color:var(--color-primary)}.breadcrumb .sep{color:var(--color-text-faint)}.breadcrumb .current{color:var(--color-heading);font-weight:600}.card{background:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:1.5rem;transition:transform var(--transition),box-shadow var(--transition)}.card-hoverable:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;margin-bottom:2rem}.category-card{position:relative;overflow:hidden}.category-card .category-icon{font-size:2rem;margin-bottom:.75rem}.category-card .category-name{font-size:1.1rem;font-weight:700;color:var(--color-heading);margin-bottom:.25rem}.category-card .category-name-ko{font-size:.85rem;color:var(--color-text-muted);margin-bottom:1rem}.tool-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.tool-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:.9rem;transition:background var(--transition)}.tool-item.active{cursor:pointer}.tool-item.active:hover{background:var(--color-primary-bg)}.tool-item.active a{color:var(--color-primary);font-weight:600;display:flex;align-items:center;gap:.5rem;width:100%}.tool-item.active a .tool-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.tool-item.active a .arrow{margin-left:auto;opacity:0;transition:opacity var(--transition),transform var(--transition)}.tool-item.active:hover a .arrow{opacity:1;transform:translate(3px)}.tool-item.coming-soon{color:var(--color-text-faint);cursor:default}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-active{background:#dcfce7;color:#166534}.badge-soon{background:var(--color-border-light);color:var(--color-text-faint)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.2rem;border:none;border-radius:var(--radius-sm);font-family:var(--font-family);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition);text-decoration:none;line-height:1.4}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);color:#fff;box-shadow:0 4px 12px #2563eb4d}.btn-secondary{background:var(--color-border-light);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-border)}.btn-outline{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary-border)}.btn-outline:hover:not(:disabled){background:var(--color-primary-bg)}.btn-danger{background:transparent;color:var(--color-error);border:1px solid var(--color-error-border)}.btn-danger:hover:not(:disabled){background:var(--color-error-bg)}.btn-group{display:flex;flex-wrap:wrap;gap:.5rem}.drop-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center;cursor:pointer;transition:all var(--transition);background:var(--color-card);position:relative}.drop-zone:hover,.drop-zone.dragover{border-color:var(--color-primary);background:var(--color-primary-bg)}.drop-zone .drop-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.drop-zone .drop-text{font-size:1rem;color:var(--color-text-secondary);margin-bottom:.5rem}.drop-zone .drop-hint{font-size:.8rem;color:var(--color-text-faint)}.drop-zone input[type=file]{display:none}.preview-section{display:none;margin-top:1.5rem}.preview-section.visible{display:block}.preview-container{background:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:.75rem}.preview-filename{font-weight:600;color:var(--color-heading);display:flex;align-items:center;gap:.5rem}.preview-image-wrap{padding:1rem;display:flex;justify-content:center;background:#fafafa;border-bottom:1px solid var(--color-border)}.preview-image-wrap img{max-height:300px;object-fit:contain;border-radius:var(--radius-sm)}.metadata-sections{display:none}.metadata-sections.visible{display:block}.meta-section{background:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:1rem;border:1px solid var(--color-border);overflow:hidden}.meta-section-header{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;background:var(--color-border-light);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition)}.meta-section-header:hover{background:var(--color-border)}.meta-section-header .section-icon{font-size:1.1rem}.meta-section-header .section-title{font-weight:700;font-size:.95rem;color:var(--color-heading);flex:1}.meta-section-header .section-count{font-size:.75rem;color:var(--color-text-faint);background:var(--color-card);padding:.15rem .5rem;border-radius:999px}.meta-section-header .section-toggle{font-size:.8rem;color:var(--color-text-faint);transition:transform var(--transition)}.meta-section.collapsed .section-toggle{transform:rotate(-90deg)}.meta-section.collapsed .meta-section-body{display:none}.meta-section-body{padding:0}.meta-table{width:100%;border-collapse:collapse;font-size:.875rem}.meta-table tr{border-bottom:1px solid var(--color-border-light)}.meta-table tr:last-child{border-bottom:none}.meta-table th{text-align:left;padding:.6rem 1.25rem;color:var(--color-text-secondary);font-weight:600;width:35%;background:#f9fafb80;vertical-align:top;white-space:nowrap}.meta-table td{padding:.6rem 1.25rem;color:var(--color-text);word-break:break-all}.long-text-row td{padding:.6rem 1.25rem}.pretty-text{background:var(--color-border-light);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.84rem;line-height:1.7;color:var(--color-text);word-break:break-word;white-space:pre-wrap;max-height:500px;overflow-y:auto;font-family:var(--font-family)}.pretty-text::-webkit-scrollbar{width:5px}.pretty-text::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.pretty-text::-webkit-scrollbar-track{background:transparent}.gps-warning{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-sm);padding:.6rem 1rem;font-size:.8rem;color:#92400e;margin:.75rem 1.25rem;display:flex;align-items:flex-start;gap:.4rem}.state-loading{display:none;text-align:center;padding:3rem}.state-loading.visible{display:block}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.state-error{display:none;background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);padding:1.25rem;margin-top:1.5rem}.state-error.visible{display:flex;align-items:flex-start;gap:.75rem}.state-error .error-icon{font-size:1.25rem;flex-shrink:0}.state-error .error-text{color:var(--color-error);font-size:.9rem}.state-error .error-title{font-weight:700;margin-bottom:.25rem}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%) translateY(100px);background:var(--color-heading);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;box-shadow:var(--shadow-xl);transition:transform .3s ease,opacity .3s ease;opacity:0;z-index:1000;pointer-events:none}.toast.visible{transform:translate(-50%) translateY(0);opacity:1}.site-footer{margin-top:3rem;border-top:1px solid var(--color-border);padding:1.5rem 0;text-align:center;font-size:.85rem;color:var(--color-text-muted)}.site-footer a{color:var(--color-text-muted);margin:0 .5rem}.site-footer a:hover{color:var(--color-primary)}.footer-links{margin-bottom:.75rem}.no-metadata{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.95rem}@media(max-width:640px){.page-title{font-size:1.5rem}.page-subtitle{font-size:.95rem}.category-grid{grid-template-columns:1fr}.drop-zone{padding:2rem 1rem}}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#fffc;display:none;flex-direction:column;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.loading-spinner{width:50px;height:50px;border:5px solid #e2e8f0;border-top:5px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-message{color:var(--color-heading);font-weight:600;font-size:1.1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.meta-table th{width:40%;padding:.5rem .75rem}.meta-table td{padding:.5rem .75rem}.preview-header{flex-direction:column;align-items:flex-start}.btn-group{width:100%}.btn-group .btn{flex:1;min-width:0;font-size:.8rem;padding:.5rem .75rem}.header-nav{gap:1rem}@media(max-width:380px){.site-header .header-inner{flex-direction:column;align-items:flex-start}.btn-group{flex-direction:column}.btn-group .btn{width:100%}}.btn-xs{padding:.25rem .5rem;font-size:.75rem;border-radius:var(--radius-sm)}.btn-sm{padding:.4rem .8rem;font-size:.75rem}.pane-header{padding:.75rem 1rem;background:#f8fafc;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;font-weight:600;color:var(--color-heading);font-size:.95rem;border-radius:var(--radius-md) var(--radius-md) 0 0}.file-info-bar.pane-header{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:2rem;background:#fff}.pane-actions{display:flex;gap:.5rem}.faq-section{margin-top:4rem;margin-bottom:2rem;background:var(--color-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:2.5rem 2rem;border:1px solid var(--color-border)}.faq-title{font-size:1.5rem;font-weight:700;margin-bottom:0;color:var(--color-heading);text-align:center}.faq-section-header{display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:2rem}.faq-section-toggle{position:absolute;right:0;font-size:1.2rem;color:var(--color-text-secondary);transition:transform .3s ease}.faq-section.collapsed .faq-section-toggle{transform:rotate(180deg)}.faq-section.collapsed .faq-list{display:none}.faq-section.collapsed{padding:1.25rem 2rem}.faq-section.collapsed .faq-section-header{margin-bottom:0}.faq-list{display:flex;flex-direction:column;gap:1rem}.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:all var(--transition);background:#fff}.faq-item.active{border-color:var(--color-primary);box-shadow:0 4px 12px #2563eb0d}.faq-question{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition)}.faq-question:hover{background:var(--color-bg)}.faq-question-text{flex:1;padding-right:1.5rem}.faq-question-text .ko{display:block;font-size:1.05rem;font-weight:600;color:var(--color-heading);line-height:1.4;margin-bottom:.3rem}.faq-question-text .en{display:block;font-size:.85rem;color:var(--color-text-faint);line-height:1.3}.faq-icon{font-size:1.2rem;color:var(--color-text-secondary);transition:transform .3s ease;margin-top:.2rem}.faq-item.active .faq-icon{transform:rotate(180deg);color:var(--color-primary)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease-out,padding .35s ease;background:var(--color-bg);padding:0 1.25rem}.faq-item.active .faq-answer{padding:1.25rem;border-top:1px solid var(--color-border-light)}.faq-answer-inner{display:flex;flex-direction:column;gap:.8rem}.faq-answer-inner p{margin:0;color:var(--color-text);line-height:1.6;font-size:.95rem}.faq-answer-inner .en{font-size:.85rem;color:var(--color-text-secondary)}@media(max-width:640px){.faq-section{padding:1.5rem 1rem}.faq-question,.faq-item.active .faq-answer{padding:1rem}}.ad-slot{text-align:center;margin:1.5rem auto;overflow:hidden;max-width:var(--max-width);display:none}.ad-slot-label{font-size:.65rem;color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.ad-slot-sidebar{position:fixed;top:80px;width:160px;z-index:50;display:none!important}.ad-slot-sidebar.left{left:calc((100vw - var(--max-width)) / 2 - 180px)}.ad-slot-sidebar.right{right:calc((100vw - var(--max-width)) / 2 - 180px)}@media(min-width:1400px){.ad-slot-sidebar{display:block!important}}
