/* Thisgun Tools - Common Styles */
.tg-tool-wrap{max-width:700px;margin:0 auto 40px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR",sans-serif;color:#333;line-height:1.6}
.tg-tool-wrap *,.tg-tool-wrap *::before,.tg-tool-wrap *::after{box-sizing:border-box}
.tg-card{background:#fff;border-radius:16px;box-shadow:0 2px 20px rgba(0,0,0,.08);padding:32px;margin-bottom:24px}
.tg-card h3{margin:0 0 20px;font-size:1.2em;color:#2c3e50;border-bottom:2px solid #3498db;padding-bottom:10px}
.tg-form-group{margin-bottom:18px}
.tg-form-group label{display:block;font-weight:600;margin-bottom:6px;font-size:.95em;color:#555}
.tg-form-group input[type="text"],.tg-form-group input[type="number"],.tg-form-group input[type="date"],.tg-form-group select,.tg-form-group textarea{width:100%;padding:12px 14px;border:2px solid #e0e0e0;border-radius:10px;font-size:1em;transition:border-color .2s,box-shadow .2s;background:#fafafa;font-family:inherit}
.tg-form-group input:focus,.tg-form-group select:focus,.tg-form-group textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px rgba(52,152,219,.15);background:#fff}
.tg-form-row{display:flex;gap:16px;flex-wrap:wrap}
.tg-form-row .tg-form-group{flex:1;min-width:140px}
.tg-btn{display:inline-block;padding:14px 32px;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;border-radius:10px;font-size:1.05em;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s;width:100%;text-align:center}
.tg-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(52,152,219,.35)}
.tg-btn:active{transform:translateY(0)}
.tg-btn-sm{padding:8px 18px;font-size:.9em;width:auto;border-radius:8px}
.tg-btn-danger{background:linear-gradient(135deg,#e74c3c,#c0392b)}
.tg-btn-danger:hover{box-shadow:0 6px 20px rgba(231,76,60,.35)}
.tg-btn-secondary{background:linear-gradient(135deg,#95a5a6,#7f8c8d)}
.tg-btn-secondary:hover{box-shadow:0 6px 20px rgba(149,165,166,.35)}
.tg-result{display:none;animation:tgFadeIn .4s ease}
@keyframes tgFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.tg-result-highlight{text-align:center;padding:24px;background:linear-gradient(135deg,#ebf5fb,#d6eaf8);border-radius:12px;margin-bottom:20px}
.tg-result-highlight .tg-big-number{font-size:2.4em;font-weight:800;color:#2980b9;margin:8px 0}
.tg-result-highlight .tg-label{font-size:.9em;color:#7f8c8d}
.tg-table-wrap{overflow-x:auto;margin-top:16px;border-radius:10px;border:1px solid #e8e8e8}
.tg-table{width:100%;border-collapse:collapse;font-size:.9em}
.tg-table th{background:#3498db;color:#fff;padding:12px 14px;text-align:center;font-weight:600;white-space:nowrap}
.tg-table td{padding:10px 14px;text-align:center;border-bottom:1px solid #f0f0f0}
.tg-table tr:nth-child(even){background:#fafafa}
.tg-table tr:hover{background:#ebf5fb}
.tg-gauge-bar{height:24px;background:#ecf0f1;border-radius:12px;overflow:hidden;position:relative;margin:16px 0}
.tg-gauge-fill{height:100%;border-radius:12px;transition:width .6s ease}
.tg-gauge-marker{position:absolute;top:-6px;width:4px;height:36px;background:#2c3e50;border-radius:2px;transition:left .6s ease;transform:translateX(-50%)}
.tg-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tg-tag{display:inline-block;padding:6px 14px;border-radius:20px;font-size:.85em;font-weight:500}
.tg-chart-container{position:relative;width:200px;height:200px;margin:20px auto}
.tg-chart-container canvas{width:200px!important;height:200px!important}
.tg-tabs{display:flex;gap:0;border-bottom:2px solid #e0e0e0;margin-bottom:20px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tg-tab{padding:10px 18px;cursor:pointer;font-weight:500;color:#7f8c8d;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap;font-size:.92em}
.tg-tab.active{color:#3498db;border-bottom-color:#3498db;font-weight:700}
.tg-tab:hover{color:#3498db}
.tg-tab-content{display:none}
.tg-tab-content.active{display:block;animation:tgFadeIn .3s ease}
.tg-swap-btn{width:40px;height:40px;border-radius:50%;background:#3498db;color:#fff;border:none;cursor:pointer;font-size:1.2em;display:flex;align-items:center;justify-content:center;margin:0 auto;transition:transform .3s}
.tg-swap-btn:hover{transform:rotate(180deg)}
.tg-dday-item{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#f8f9fa;border-radius:10px;margin-bottom:10px;transition:background .2s}
.tg-dday-item:hover{background:#ebf5fb}
.tg-dday-item .dday-name{font-weight:600;color:#2c3e50}
.tg-dday-item .dday-value{font-size:1.3em;font-weight:700;color:#3498db}
.tg-dday-item .dday-delete{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:1.1em;padding:4px 8px;border-radius:6px}
.tg-dday-item .dday-delete:hover{background:#fde8e8}
.tg-counter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:20px}
.tg-counter-box{text-align:center;padding:16px 10px;background:#f8f9fa;border-radius:10px}
.tg-counter-box .counter-val{font-size:1.8em;font-weight:700;color:#2980b9}
.tg-counter-box .counter-lbl{font-size:.8em;color:#7f8c8d;margin-top:4px}
.tg-sns-bar{margin-bottom:10px}
.tg-sns-bar .sns-label{font-size:.85em;margin-bottom:4px;display:flex;justify-content:space-between}
.tg-sns-bar .sns-track{height:8px;background:#ecf0f1;border-radius:4px;overflow:hidden}
.tg-sns-bar .sns-fill{height:100%;border-radius:4px;transition:width .3s}
.tg-subject-row{display:flex;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.tg-subject-row input,.tg-subject-row select{padding:8px 10px;border:2px solid #e0e0e0;border-radius:8px;font-size:.9em}
.tg-subject-row input:focus,.tg-subject-row select:focus{outline:none;border-color:#3498db}
.tg-subject-row .subj-name{flex:2;min-width:100px}
.tg-subject-row .subj-credit{width:70px}
.tg-subject-row .subj-grade{width:90px}
.tg-remove-row{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:1.2em;padding:4px 8px}
.tg-add-row{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#ebf5fb;color:#3498db;border:2px dashed #3498db;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9em;transition:background .2s}
.tg-add-row:hover{background:#d6eaf8}
.tg-schedule-toggle{text-align:center;margin-top:12px}
.tg-schedule-toggle button{background:none;border:none;color:#3498db;cursor:pointer;font-weight:600;font-size:.9em;padding:8px 16px}
.tg-schedule-content{display:none;max-height:400px;overflow-y:auto}
.tg-schedule-content.open{display:block}
.tg-info{font-size:.85em;color:#7f8c8d;margin-top:6px}
@media(max-width:600px){
.tg-card{padding:20px 16px}
.tg-form-row{flex-direction:column;gap:0}
.tg-result-highlight .tg-big-number{font-size:1.8em}
.tg-counter-grid{grid-template-columns:repeat(2,1fr)}
.tg-subject-row{flex-direction:column;gap:6px}
.tg-subject-row input,.tg-subject-row select{width:100%}
.tg-tabs{gap:0}
.tg-tab{padding:8px 12px;font-size:.82em}
}
