.watermark-app{min-height:100vh;background:#fafafa;color:#111827;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.watermark-app *{box-sizing:border-box}.watermark-app button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.watermark-header{text-align:center;padding:1.5rem 1rem}.watermark-header-brand{display:flex;align-items:center;justify-content:center;gap:14px}.watermark-header-logo{max-height:40px;width:auto;-o-object-fit:contain;object-fit:contain}.watermark-header-title{margin:0;font-size:1.25rem;font-weight:600;color:#2563eb}.watermark-tagline{margin:.5rem 0 0;font-size:.95rem;color:#6b7280}@media (min-width:768px){.watermark-header-logo{max-height:56px}.watermark-header-title{font-size:1.75rem}}.watermark-split{display:flex;flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto;padding:0 1rem 2rem}.watermark-panel{flex:1;min-width:0}.watermark-panel-action{display:flex;flex-direction:column}@media (min-width:768px){.watermark-split{flex-direction:row;padding:0 2rem 2rem}.watermark-panel-action{flex:0 0 45%;max-width:420px}.watermark-panel-preview{flex:1;min-width:300px}}.watermark-stack{max-width:1280px;margin:0 auto;padding:0 1rem 2rem;display:flex;flex-direction:column;gap:1rem}@media (min-width:768px){.watermark-stack{padding:0 2rem 2rem}}.watermark-app .dropzone:hover{border-color:#9ca3af!important;background:#f9fafb}.watermark-photos-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.5rem}.watermark-photos-count{margin:0;font-size:1.05rem;font-weight:600;color:#111827}.watermark-photos-count-extra{font-weight:400;color:#6b7280;font-size:.95rem}.watermark-ac3-warning{background:#fef3c7;color:#92400e;border-left:3px solid #f59e0b}.watermark-ac3-warning,.watermark-error{margin:.5rem 0 0;padding:.5rem .75rem;border-radius:6px;font-size:.85rem;max-width:640px}.watermark-error{display:block;background:#fee2e2;color:#991b1b;border-left:3px solid #ef4444}.watermark-clear-btn{background:none;border:1px solid #d1d5db;color:#6b7280;padding:.45rem .9rem;border-radius:6px;font-size:.85rem;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.watermark-clear-btn:hover:not(:disabled){background:#fef2f2;color:#b91c1c;border-color:#fca5a5}.watermark-clear-btn:disabled{opacity:.5;cursor:not-allowed}.watermark-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin:.25rem 0 .5rem}@media (min-width:768px){.watermark-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}}.watermark-tile{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0}.watermark-tile-frame{position:relative;width:100%;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#e5e7eb;border:none;padding:0;margin:0;font:inherit;color:inherit;display:block;cursor:zoom-in;transition:transform .18s ease,box-shadow .18s ease,outline-color .15s}.watermark-tile-frame:hover:not(:disabled){transform:scale(1.015);box-shadow:0 8px 20px -8px rgba(15,23,42,.25)}.watermark-tile-frame:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.watermark-tile-frame:disabled{cursor:not-allowed}.watermark-tile[data-over-limit=true] .watermark-tile-frame{outline:2px solid #f59e0b;outline-offset:-2px}.watermark-tile-img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.watermark-tile-skeleton{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#e5e7eb,#f3f4f6 50%,#e5e7eb);background-size:200% 100%;animation:watermark-skeleton 1.4s ease-in-out infinite}@keyframes watermark-skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.watermark-tile-badge{left:6px;background:#f59e0b;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:600;pointer-events:none;letter-spacing:.02em}.watermark-tile-badge,.watermark-tile-remove{position:absolute;top:6px;color:#fff;z-index:2}.watermark-tile-remove{right:6px;width:26px;height:26px;border-radius:50%;border:none;background:rgba(0,0,0,.55);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,transform .15s}.watermark-tile-remove:hover:not(:disabled){background:#ef4444;transform:scale(1.05)}.watermark-tile-remove:disabled{opacity:.5;cursor:not-allowed}.watermark-tile-name{margin:0;font-size:.75rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}