.tool-page{max-width:880px;padding:var(--space-16) var(--space-6) var(--space-24);margin-inline:auto}.dropzone{border:1px dashed var(--control-edge);border-radius:var(--radius-md);background-color:var(--bg-elevated);transition:border-color .2s,background-color .2s;position:relative}.dropzone:focus-within{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px;border-style:solid}.dropzone:hover,.dropzone.is-over{border-color:var(--accent);background-color:var(--hover-bg)}.dropzone.is-over{border-style:solid}.dropzone-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.dropzone-label{align-items:center;gap:var(--space-2);padding:var(--space-12) var(--space-6) var(--space-6);text-align:center;cursor:pointer;flex-direction:column;display:flex}.dropzone-icon{color:var(--accent);margin-bottom:var(--space-2)}.dropzone-headline{font-family:var(--font-sans);font-size:var(--text-body-lg);color:var(--text)}.dropzone-hint{font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.04em;color:var(--text-muted)}.dropzone-privacy{justify-content:center;align-items:flex-start;gap:var(--space-3);margin:0 var(--space-6);padding:var(--space-4) 0 var(--space-6);border-top:1px solid var(--border);font-family:var(--font-sans);font-size:var(--text-small);color:var(--text-meta);text-align:left;line-height:1.6;display:flex}.dropzone-privacy svg{color:var(--accent);flex-shrink:0;margin-top:2px}.toast-stack{top:var(--space-6);right:var(--space-6);z-index:1200;gap:var(--space-3);max-width:min(24rem, calc(100vw - var(--space-8)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast-group{gap:var(--space-3);flex-direction:column;display:flex}.toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-md);background-color:var(--bg-elevated);box-shadow:var(--shadow);font-family:var(--font-sans);font-size:var(--text-small);pointer-events:auto;border:1px solid;line-height:1.5;animation:.25s cubic-bezier(.16,1,.3,1) toastIn;display:flex}@keyframes toastIn{0%{opacity:0;transform:translateY(-6px)}}.toast-error{border-color:var(--status-error);color:var(--status-error)}.toast-warning{border-color:var(--status-warning);color:var(--status-warning)}.toast-success{border-color:var(--status-success);color:var(--status-success)}.toast-text{flex:1;min-width:0}.toast-close{border-radius:var(--radius-sm);width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:-4px -4px -4px 0;padding:0;display:flex}.toast-close:hover{background-color:var(--hover-bg)}.tool-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border:1px solid var(--control-edge);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.04em;color:var(--text);cursor:pointer;background-color:#0000;transition:border-color .2s,color .2s,background-color .2s;display:inline-flex}.tool-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.tool-btn:disabled{opacity:.45;cursor:not-allowed}.tool-btn-primary{border-color:var(--accent);background-color:var(--accent);color:var(--gray-0)}[data-theme=dark] .tool-btn-primary{color:var(--gray-950)}.tool-btn-primary:hover:not(:disabled){color:var(--accent);background-color:#0000}.tool-btn-icon{min-width:40px;min-height:40px;padding:0}.tool-spinner{border:2px solid var(--control-edge);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite toolSpin;display:inline-block}@keyframes toolSpin{to{transform:rotate(360deg)}}.tool-busy{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.04em;color:var(--text-muted);display:inline-flex}@media (max-width:768px){.tool-page{padding:var(--space-8) var(--space-4) var(--space-16)}.dropzone-label{padding:var(--space-8) var(--space-4) var(--space-4)}.dropzone-privacy{margin-inline:var(--space-4)}.toast-stack{top:auto;bottom:var(--space-4);left:var(--space-4);right:var(--space-4);max-width:none}.tool-btn,.tool-btn-icon{min-width:44px;min-height:44px}.toast-close{width:44px;height:44px}}
