:root{--bg: #ffffff;--bg-sub: #f7f8fa;--text: #1a1a1a;--text-dim: #6b7280;--border: #e5e7eb;--accent: #e8650e;--success: #16a34a;--warning: #d97706;--error: #dc2626;--sp-1: 4px;--sp-2: 8px;--sp-3: 16px;--sp-4: 24px;--sp-5: 32px;--fs-xs: 12px;--fs-sm: 14px;--fs-md: 16px;--fs-lg: 20px;--fs-xl: 28px;--radius: 8px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,Noto Sans JP,Hiragino Sans,Yu Gothic,sans-serif;background:var(--bg-sub);color:var(--text);font-size:var(--fs-md);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}main{width:100%;padding:var(--sp-4)}.layout{display:grid;grid-template-columns:1fr 320px;gap:var(--sp-4);align-items:stretch;height:calc(100vh - var(--sp-4) * 2)}.col-left{min-width:0;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.col-right{min-height:0;overflow-y:auto}@media(max-width:900px){.layout{grid-template-columns:1fr;grid-template-rows:auto auto}.col-right{overflow-y:visible}}.section{border-top:1px solid var(--border);padding:var(--sp-3) 0}.section:first-of-type{border-top:none}.section h2{font-size:var(--fs-sm);font-weight:600;display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}.section h2 svg{color:var(--text-dim)}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:var(--sp-5) var(--sp-4);text-align:center;cursor:pointer;transition:border-color .15s;background:var(--bg);flex-shrink:0}.dropzone.empty{flex:1;display:flex;flex-direction:column;justify-content:center}.dropzone:hover,.dropzone.dragover,.dropzone:focus-visible{border-color:var(--accent)}.dropzone-icon{color:var(--text-dim);margin-bottom:var(--sp-2)}.dropzone-icon svg{width:32px;height:32px}.dropzone-sub{color:var(--text-dim);font-size:var(--fs-sm);margin-top:var(--sp-1)}.drop-overlay{position:fixed;inset:0;z-index:1000;background:#e8650e26;border:3px dashed var(--accent);display:flex;align-items:center;justify-content:center;pointer-events:none}.drop-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);color:var(--accent);font-size:var(--fs-lg);font-weight:600;background:var(--bg);border-radius:var(--radius);padding:var(--sp-4) var(--sp-5);box-shadow:0 4px 24px #0000001f}.paste-toast,.toast{position:fixed;bottom:var(--sp-4);left:50%;transform:translate(-50%);z-index:1100;background:var(--text);color:var(--bg);font-size:var(--fs-sm);font-weight:600;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius);box-shadow:0 4px 16px #0003}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-3)}.field label{display:block;font-size:var(--fs-sm);color:var(--text-dim);margin-bottom:var(--sp-1)}.field small{color:var(--text-dim);font-size:var(--fs-xs);display:block;margin-top:var(--sp-1)}input[type=number],select,input[type=text]{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:var(--sp-2);font-size:var(--fs-md);font-family:inherit}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=range]{width:calc(100% - 40px);vertical-align:middle;accent-color:var(--accent)}.settings-toggles{margin-top:var(--sp-3);display:flex;flex-wrap:wrap;gap:var(--sp-4)}.settings-toggles label{font-size:var(--fs-sm);cursor:pointer;display:flex;align-items:center;gap:var(--sp-2)}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.btn{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);font-weight:600;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:var(--sp-2);transition:opacity .15s}.btn svg{width:16px;height:16px}.btn:hover:not(:disabled){opacity:.8}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{border-color:transparent;color:var(--text-dim)}.btn.small{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs)}.list-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-2)}.list-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.file-item{display:grid;grid-template-columns:64px 1fr auto;gap:var(--sp-3);align-items:center;padding:var(--sp-3) 0;border-bottom:1px solid var(--border)}.file-item:last-child{border-bottom:none}.file-thumb{width:64px;height:64px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-sub)}.file-info{min-width:0}.file-name{font-weight:600;font-size:var(--fs-sm);word-break:break-all}.file-meta{color:var(--text-dim);font-size:var(--fs-xs)}.file-result{margin-top:var(--sp-1);font-size:var(--fs-sm)}.file-result .saved{color:var(--success);font-weight:600}.file-result .warn{color:var(--error)}.file-actions{display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-end}.progress-bar{height:4px;border-radius:2px;background:var(--border);overflow:hidden;margin-top:var(--sp-2)}.progress-bar>div{height:100%;background:var(--accent);transition:width .2s}.total-summary{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border);font-size:var(--fs-sm);display:flex;align-items:baseline;gap:var(--sp-2);flex-wrap:wrap}.total-summary .key-figure{color:var(--accent);font-size:var(--fs-lg);font-weight:600}details{border-bottom:1px solid var(--border);padding:var(--sp-3) 0}details:last-child{border-bottom:none}summary{cursor:pointer;font-weight:600;font-size:var(--fs-sm);display:flex;align-items:center;gap:var(--sp-2);list-style:none}summary::-webkit-details-marker{display:none}summary svg{color:var(--text-dim);flex-shrink:0}details[open] summary svg{transform:rotate(90deg)}details p{color:var(--text-dim);margin-top:var(--sp-2);font-size:var(--fs-sm);padding-left:var(--sp-4)}.app-footer{border-top:1px solid var(--border);text-align:center;color:var(--text-dim);font-size:var(--fs-xs);padding:var(--sp-4)}.footer-company{margin-top:var(--sp-3);line-height:1.7}.footer-company-name{font-weight:600;color:var(--text)}@media(max-width:640px){.file-item{grid-template-columns:48px 1fr}.file-actions{grid-column:1 / -1;flex-direction:row;justify-content:flex-start}}.faq-section{flex-shrink:0;margin-top:var(--sp-4)}
