/* HTML table generator (#57) */
.html-table-panel{display:grid;gap:1.25rem;min-width:0}.html-table-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.html-table-heading h2{margin:.1rem 0 .25rem}.html-table-heading p{margin:0}.html-table-step{color:var(--color-primary);font-size:.76rem;font-weight:800;letter-spacing:.12em}.html-table-area{display:grid;gap:1rem;min-width:0;padding:1.1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.html-table-area-heading{display:flex;align-items:flex-start;gap:.75rem}.html-table-area-heading>span{display:grid;flex:0 0 2rem;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--color-primary);color:#fff;font-weight:800}.html-table-area-heading h3,.html-table-area-heading p{margin:0}.html-table-area-heading p{color:var(--color-muted);font-size:.9rem}.html-table-size-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:.8rem}.html-table-size-grid label,.html-table-caption-field,.html-table-preset-row label,.html-table-merge-box label,.html-table-tsv-box label{display:grid;gap:.4rem;min-width:0;font-weight:750}.html-table-size-grid input,.html-table-caption-field input,.html-table-preset-row select,.html-table-merge-box input,.html-table-tsv-box textarea,.html-table-code{width:100%;min-width:0;border:1px solid #a9c9c2;border-radius:.65rem;background:#fff;color:var(--color-text);padding:.72rem .8rem;font:inherit}.html-table-size-grid input:focus-visible,.html-table-caption-field input:focus-visible,.html-table-preset-row select:focus-visible,.html-table-merge-box input:focus-visible,.html-table-tsv-box textarea:focus-visible,.html-table-code:focus-visible,.html-table-edit-table input:focus-visible{border-color:var(--color-primary);outline:3px solid #f2a93b;outline-offset:2px}.html-table-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;padding:1rem;border:1px solid var(--color-border);border-radius:.75rem}.html-table-options legend{padding:0 .35rem;font-weight:800}.html-table-options>div{display:flex;align-items:flex-start;gap:.55rem}.html-table-options input{flex:0 0 auto;width:1.2rem;height:1.2rem;margin-top:.2rem;accent-color:var(--color-primary)}.html-table-options label{font-weight:700;cursor:pointer}.html-table-row-actions,.html-table-confirm-actions,.html-table-merge-actions,.html-table-copy-row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.html-table-row-actions button{flex:1 1 11rem}.html-table-confirm-actions:empty{display:none}.html-table-grid-scroll,.html-table-preview-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--color-border);border-radius:.75rem;background:#fff}.html-table-edit-table,.html-table-preview-table{width:100%;min-width:max-content;border-collapse:collapse}.html-table-edit-table th,.html-table-edit-table td{position:relative;min-width:9rem;padding:.42rem;border:1px solid var(--color-border);background:#fff}.html-table-edit-table thead th{background:#eaf6f3}.html-table-edit-table tfoot td{background:#fff8e8}.html-table-edit-table input{display:block;width:100%;min-width:7.5rem;border:1px solid transparent;border-radius:.4rem;background:transparent;padding:.58rem;color:var(--color-text);font:inherit}.html-table-edit-table [data-selected="true"]{box-shadow:inset 0 0 0 3px var(--color-primary)}.html-table-edit-table [data-selected="true"]::after{content:"選択中";position:absolute;z-index:1;top:0;right:0;padding:.08rem .35rem;border-radius:0 0 0 .35rem;background:var(--color-primary);color:#fff;font-size:.66rem;font-weight:800;pointer-events:none}.html-table-preset-row{display:grid;grid-template-columns:minmax(0,20rem) auto;align-items:end;gap:.7rem}.html-table-merge-box,.html-table-tsv-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;min-width:0;padding:1rem;border-radius:.8rem;background:var(--color-surface-soft)}.html-table-merge-box>div:first-child,.html-table-merge-box>p,.html-table-tsv-box>label,.html-table-tsv-box>p{grid-column:1/-1}.html-table-merge-box h4,.html-table-merge-box p,.html-table-tsv-box p{margin:0}.html-table-merge-box>p,.html-table-tsv-box p{color:var(--color-muted);font-size:.88rem}.html-table-merge-actions{grid-column:1/-1}.html-table-tsv-box{grid-template-columns:minmax(0,1fr) auto;align-items:end}.html-table-tsv-box textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:400}.html-table-preview-scroll{min-height:10rem;padding:1rem}.html-table-preview-scroll>p{margin:0;color:var(--color-danger);font-weight:700}.html-table-preview-table caption{padding:.6rem;font-weight:800;text-align:left}.html-table-preview-table th,.html-table-preview-table td{min-width:7rem;padding:.65rem .75rem;border:1px solid #b9d0cb;text-align:left;vertical-align:top}.html-table-preview-table th{background:#eaf6f3}.html-table-preview-table tfoot td{background:#fff8e8;font-weight:700}.html-table-code-label{font-weight:800}.html-table-code{display:block;resize:vertical;background:#12201e;color:#e7fbf6;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88rem;line-height:1.6;white-space:pre;overflow:auto}.html-table-copy-row span{min-height:1.4em;color:var(--color-primary-dark);font-weight:750}.html-table-element-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.html-table-element-list>div{min-width:0;padding:.85rem;border:1px solid var(--color-border);border-radius:.7rem;background:#fff}.html-table-element-list code{color:var(--color-primary-dark);font-weight:850}.html-table-element-list p{margin:.25rem 0 0}.html-table-panel .form-message{min-height:1.5em;margin:0}.html-table-panel .form-message--error{color:var(--color-danger);font-weight:750}
@media(max-width:760px){.html-table-heading{display:grid}.html-table-size-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.html-table-size-grid button{grid-column:1/-1}.html-table-options{grid-template-columns:1fr}.html-table-preset-row,.html-table-tsv-box{grid-template-columns:1fr}.html-table-tsv-box>label,.html-table-tsv-box>p{grid-column:auto}.html-table-tsv-box button{justify-self:start}.html-table-element-list{grid-template-columns:1fr}}
@media(max-width:520px){.html-table-size-grid,.html-table-merge-box{grid-template-columns:1fr}.html-table-size-grid button,.html-table-merge-box>div:first-child,.html-table-merge-box>p,.html-table-merge-actions{grid-column:auto}.html-table-row-actions,.html-table-confirm-actions,.html-table-merge-actions,.html-table-copy-row{display:grid;grid-template-columns:1fr}.html-table-row-actions button,.html-table-confirm-actions button,.html-table-merge-actions button,.html-table-copy-row button{width:100%}.html-table-tsv-box button{width:100%}}
@media(max-width:360px){.html-table-panel,.html-table-area,.html-table-size-grid,.html-table-options,.html-table-merge-box,.html-table-tsv-box{min-width:0}.html-table-panel{gap:1rem}.html-table-area{padding:.75rem}.html-table-heading .button-secondary{width:100%}.html-table-area-heading{gap:.55rem}.html-table-size-grid input,.html-table-caption-field input,.html-table-preset-row select,.html-table-merge-box input,.html-table-tsv-box textarea,.html-table-code{padding-inline:.55rem}.html-table-grid-scroll,.html-table-preview-scroll{width:100%}.html-table-preview-scroll{padding:.65rem}.html-table-edit-table th,.html-table-edit-table td{min-width:8rem}.html-table-code{font-size:.78rem}}
.html-table-panel #html-table-grid{width:100%;min-width:0;max-width:100%}.html-table-panel .html-table-grid-scroll{width:100%;min-width:0}
