.workspace{margin-top:1.75rem;display:grid;gap:1.1rem}.page-hero.is-compact+.workspace{margin-top:1.1rem}.workspace-meta{display:flex;flex-wrap:wrap;gap:.35rem .85rem;margin:0;font-size:.88rem;color:var(--muted)}.workspace-meta a{font-weight:600;color:var(--muted)}.workspace-meta a:hover{color:var(--accent-deep)}.hint.is-collapsible{margin:0}.hint.is-collapsible summary{cursor:pointer;font-weight:600;color:var(--ink-soft);list-style:none}.hint.is-collapsible summary::-webkit-details-marker{display:none}.hint.is-collapsible summary:before{content:"▸ ";color:var(--accent);font-size:.8em}.hint.is-collapsible[open] summary:before{content:"▾ "}.hint.is-collapsible[open] summary{margin-bottom:.4rem}.hint.is-collapsible p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}.dropzone{border:2px dashed rgba(31,111,229,.28);border-radius:var(--radius);background:#ffffff8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1.75rem 1.25rem;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.dropzone:hover,.dropzone.is-dragover{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px #1f6fe51f}.dropzone strong{display:block;font-family:var(--font-display);font-size:1.08rem;font-weight:700;color:var(--ink);margin-bottom:.35rem}.dropzone p{margin:0;color:var(--muted);font-size:.95rem}.dropzone input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.file-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.file-item{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:.85rem 1rem;border:1px solid var(--line);border-radius:16px;background:#ffffffb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.file-item .ord{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.8rem;font-weight:700;color:var(--accent-deep);min-width:1.5rem;padding:.08em .35em;border-radius:6px;background:#1420330f}.file-meta{min-width:0}.file-meta .name{display:block;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta .size{font-size:.85rem;color:var(--muted)}.file-actions{display:flex;gap:.4rem;flex-wrap:wrap}.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:2.85rem;border:1px solid transparent;background:var(--accent);color:#fff;font:inherit;font-weight:700;font-size:.95rem;padding:.7rem 1.2rem;border-radius:999px;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.btn:hover:not(:disabled){background:var(--accent-deep);transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:#ffffff8c;color:var(--ink);border-color:var(--line)}.btn.ghost:hover:not(:disabled){border-color:#1f6fe573;background:#ffffffd9}.btn.small{min-height:2rem;padding:.3rem .75rem;font-size:.82rem}.toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.status{margin:0;min-height:1.4em;font-size:.95rem;color:var(--muted)}.status.is-error{color:#a12020}.status.is-ok{color:#17643a}.result-panel{display:grid;gap:.45rem;padding:.95rem 1.1rem;border:1px solid var(--line);border-radius:16px;background:#ffffffb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.result-row{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;font-size:.95rem;color:var(--muted)}.result-row strong{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}.result-row.accent{color:var(--accent-deep);font-weight:600}.result-row.accent strong{color:var(--accent-deep)}.field-row{display:flex;flex-wrap:wrap;gap:.85rem;align-items:end}.field{display:grid;gap:.35rem}.field label{font-size:.85rem;font-weight:700;color:var(--ink)}.field input[type=number],.field select{width:5.5rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:12px;font:inherit;background:#ffffffe0;color:var(--ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field select{width:auto;min-width:7.5rem}.field input[type=number]:focus,.field select:focus{border-color:#1f6fe58c;box-shadow:0 0 0 3px #1f6fe526}.field-grow{flex:1 1 12rem;min-width:10rem}.field input[type=range]{width:100%;accent-color:var(--accent)}.lossy-options{display:grid;gap:.75rem}.check-field{display:inline-flex;align-items:center;gap:.45rem;min-height:2.85rem;font-size:.9rem;font-weight:600;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none}.check-field input{accent-color:var(--accent);width:1.05rem;height:1.05rem}.mode-tabs{display:flex;flex-wrap:wrap;gap:.55rem}.mode-tabs label{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .95rem;border:1px solid var(--line);border-radius:999px;background:#ffffff8c;font-size:.9rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease}.mode-tabs label:has(input:checked){border-color:#1f6fe573;background:var(--accent-soft);color:var(--accent-deep)}.mode-tabs input{accent-color:var(--accent)}.preview-bar{display:grid;gap:.85rem;margin-bottom:.9rem}.thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.85rem}.thumb{appearance:none;display:block;width:100%;border:1px solid var(--line);border-radius:16px;background:#ffffffb8;padding:.55rem;text-align:center;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.thumb:hover,.thumb:focus-visible{border-color:#1f6fe573;box-shadow:0 0 0 3px #1f6fe526;transform:translateY(-1px);outline:none}.thumb canvas{display:block;width:100%;height:auto;border-radius:8px;background:#fff;pointer-events:none}.thumb .label{margin-top:.4rem;font-size:.78rem;font-weight:700;color:var(--muted)}.page-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:12px}.page-modal[hidden]{display:none}.page-modal__backdrop{position:absolute;inset:0;background:#14203380;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.page-modal__panel{position:relative;z-index:1;width:min(1100px,96vw);height:90vh;max-height:90vh;display:flex;flex-direction:column;background:#fffffff2;border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);overflow:hidden}.page-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:.85rem 1.1rem;border-bottom:1px solid var(--line);flex-shrink:0;background:#f4f7fbe6}.page-modal__header h2{margin:0;font-family:var(--font-display);font-size:1.1rem;font-weight:700}.page-modal__toolbar{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;padding:.7rem 1.1rem;border-bottom:1px solid var(--line);background:#e8eef6a6;flex-shrink:0}.page-modal__sep{width:1px;height:22px;background:var(--line);margin:0 4px}.page-modal__label{font-size:.9rem;font-weight:700;color:var(--ink);min-width:5.5rem;text-align:center}.page-modal__body{flex:1;min-height:0;padding:0;background:var(--bg)}.page-modal__viewport{width:100%;height:100%;overflow:auto;padding:16px;box-sizing:border-box}.page-modal__stage{margin:0 auto;width:max-content;min-width:100%;min-height:100%;display:grid;place-items:center}.page-modal__stage canvas{display:block;background:#fff;box-shadow:0 14px 34px #14284624;border-radius:4px}.hint{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}.progress-panel{display:grid;gap:8px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--white)}.progress-track{height:10px;border-radius:999px;background:var(--paper);overflow:hidden}.progress-fill{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-deep));transition:width .15s ease}.progress-label{margin:0;font-size:.88rem;font-weight:600;color:var(--ink-soft)}
