.page-heading{margin-bottom:20px}
.page-heading h1{font-size:clamp(1.8rem,3vw,2.5rem);margin:0 0 8px;word-break:keep-all;text-wrap:balance}
.page-heading>p{font-size:.9rem}
.options-panel{margin-bottom:20px;padding:18px 20px}
.options-panel h2{font-size:1.05rem;margin:0 0 14px}
.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;align-items:start}
.options-grid .field select{min-height:44px}
.check{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--bg);cursor:pointer;min-height:44px;min-width:0}
.check:has(input:checked){border-color:#a2b9ed;background:#f0f5ff}
.check input{margin:2px 0 0;flex-shrink:0}
.check strong{display:block;font-size:.85rem;word-break:keep-all;overflow-wrap:anywhere}
.check small{display:block;margin-top:4px;font-size:.75rem;line-height:1.5;overflow-wrap:anywhere}
.check span{min-width:0;overflow-wrap:anywhere}
/* 키보드 포커스 표시 명확화 */
.check:has(input:focus-visible){outline:3px solid #e9aa23;outline-offset:2px}
.options-grid .field select:focus-visible,.action-row .button:focus-visible,.error-box .button:focus-visible{outline:3px solid #e9aa23;outline-offset:2px}
.guide summary:focus-visible{outline:3px solid #e9aa23;outline-offset:2px;border-radius:4px}
.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.input-column{min-width:0}
.editor-panel{padding:0;overflow:hidden}
.panel-top{padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.panel-top h2{font-size:1.05rem;margin:0}
.counter{font-size:.78rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
/* 긴 JSON, URL, Base64 문자열의 가로 넘침 방지 및 자동 줄바꿈 처리 */
.editor-panel textarea{display:block;width:100%;min-height:300px;resize:vertical;border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;padding:16px 20px;color:var(--text);font:.92rem/1.7 ui-monospace,SFMono-Regular,Consolas,"Malgun Gothic",monospace;tab-size:2;overflow-wrap:anywhere;word-break:break-all}
.editor-panel textarea::placeholder{color:#718198}
.editor-panel textarea:focus-visible{outline:3px solid #e9aa23;outline-offset:-3px}
.preview-panel textarea{background:#f9fbff}
.editor-footer{padding:10px 20px 0;display:flex;flex-direction:column;gap:2px}
.privacy-note{color:var(--muted);font-size:.76rem;line-height:1.5;margin:0;overflow-wrap:anywhere}
.action-row{display:flex;gap:10px;flex-wrap:wrap;padding:12px 16px 16px}
.action-row .button{font-size:.85rem;min-height:44px}
.status{margin:14px 0 0;min-height:1.5em;overflow-wrap:anywhere}
.status.error{color:var(--danger)}
.error-box{margin:12px 0 0;border:1px solid #efd3d7;background:#fff7f8;border-radius:8px;padding:14px 16px;font-size:.88rem}
.error-box p{margin:0 0 6px;overflow-wrap:anywhere}
.error-box .error-title{color:var(--danger)}
.error-box .button{margin-top:6px;min-height:44px}
.guide{margin:32px 0 40px;padding-top:22px;border-top:1px solid var(--border);color:var(--muted);font-size:.86rem;line-height:1.8}
.guide h2{color:var(--text);font-size:1.1rem}
.guide h3{color:var(--text);margin:20px 0 6px}
.guide summary{cursor:pointer;color:var(--text);font-weight:650;padding:10px 0;min-height:44px}
.guide code{background:var(--surface);border:1px solid var(--border);padding:2px 6px;border-radius:5px;white-space:pre-wrap;overflow-wrap:anywhere}
.example{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
button,input,select,summary,a{touch-action:manipulation}
@media(max-width:760px){
  .editor-layout{grid-template-columns:1fr;gap:18px}
  .options-panel{padding:16px}
  .editor-panel textarea{min-height:180px;padding:14px 16px}
  .panel-top{padding:12px 16px}
  .editor-footer{padding:10px 16px 0}
  .action-row{padding:12px 12px 14px}
}
@media(max-width:480px){
  /* 모바일 360px 가로 넘침 방지 및 터치 타겟 확보 */
  .options-grid{grid-template-columns:1fr}
  .action-row .button{flex:1 1 100%;width:100%;text-align:center}
}
