/* Editorial refinement layer — intentionally separate from the generated bundle. */
:root {
  --background: 42 29% 96%;
  --foreground: 204 30% 13%;
  --border: 38 14% 78%;
  --input: 38 14% 78%;
  --ring: 24 67% 45%;
  --card: 42 33% 98%;
  --card-foreground: 204 30% 13%;
  --card-border: 38 14% 76%;
  --popover: 42 33% 98%;
  --popover-foreground: 204 30% 13%;
  --primary: 201 35% 18%;
  --primary-foreground: 42 33% 97%;
  --secondary: 40 18% 90%;
  --secondary-foreground: 201 35% 18%;
  --muted: 40 16% 91%;
  --muted-foreground: 201 10% 42%;
  --accent: 24 67% 45%;
  --accent-foreground: 42 33% 97%;
  --app-font-sans: "Aptos", "Helvetica Neue", Helvetica, sans-serif;
  --app-font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --radius: .35rem;
}

.dark {
  --background: 204 28% 9%;
  --foreground: 40 24% 91%;
  --border: 202 16% 25%;
  --input: 202 16% 25%;
  --card: 203 25% 12%;
  --card-foreground: 40 24% 91%;
  --card-border: 202 16% 25%;
  --popover: 203 25% 12%;
  --popover-foreground: 40 24% 91%;
  --primary: 40 24% 91%;
  --primary-foreground: 204 28% 9%;
  --secondary: 202 20% 17%;
  --secondary-foreground: 40 24% 91%;
  --muted: 202 18% 17%;
  --muted-foreground: 200 8% 65%;
  --accent: 27 65% 58%;
  --accent-foreground: 204 28% 9%;
}

html { text-rendering: optimizeLegibility; }
body { letter-spacing: .003em; overflow-x: clip; }

.app-noise::after { opacity: .018; }
.paper-grid {
  background-image: linear-gradient(hsl(var(--foreground) / .035) 1px, transparent 1px);
  background-size: 100% 40px;
}

header {
  border-bottom: 1px solid hsl(var(--border) / .7);
}

[data-testid="link-brand"] > span:first-child {
  border-radius: 3px;
  box-shadow: 4px 4px 0 hsl(var(--accent));
}

[data-testid="link-brand"] .redact-wordmark { display:inline-flex;align-items:center;gap:.55rem;font-size:1rem;font-weight:780;letter-spacing:-.025em }
.redact-wordmark::before { content:"";width:1.9rem;height:.68rem;background:hsl(var(--accent));box-shadow:inset 0 -2px 0 hsl(var(--foreground)/.24);transform:skewX(-7deg);transition:transform 220ms cubic-bezier(.2,.8,.2,1) }
[data-testid="link-brand"]:hover .redact-wordmark::before { transform:skewX(-7deg) scaleX(.76) }

[data-testid="link-brand"] > span:last-child {
  font-size: 1rem;
  font-weight: 750;
  letter-spacing: -.02em;
}

[data-testid="link-send"] {
  margin-left: .35rem;
  border: 1px solid hsl(var(--border));
  border-radius: 3px;
  background: hsl(var(--card));
}

main > section:first-child h1 {
  max-width: 9.5ch;
  font-size: clamp(3.25rem, 6.4vw, 5.8rem);
  line-height: .92;
  letter-spacing: -.062em;
}

main > section:first-child h1 em {
  font-style: normal;
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .08em;
}

.quiet-shadow {
  box-shadow: 10px 12px 0 hsl(var(--foreground) / .075);
}

main > section:nth-child(2) > div {
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  border-color: hsl(var(--foreground) / .3);
}

main > section { min-width: 0; }

/* Remove the redundant marketing and legacy product strips shown in feedback. */
.app-noise > footer,
.app-noise main > section:first-child > div.mt-10.hidden {
  display: none !important;
}

/* Long encrypted links stay contained within the ready-to-share panel. */
[data-testid="text-share-link"] {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

div:has(> [data-testid="text-share-link"]) {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

div:has(> [data-testid="text-share-link"]) > [data-testid="button-copy-link"] {
  flex: 0 0 auto;
}

main > section:nth-child(2) > div::before { content:"";position:absolute;z-index:2;inset:0 0 auto;height:2px;pointer-events:none;opacity:.7;background:linear-gradient(90deg,transparent 0 12%,hsl(var(--accent)) 42% 58%,transparent 88% 100%);transform:translateX(-110%);animation:redact-scan 5.8s cubic-bezier(.7,0,.3,1) 1.1s infinite }

[data-testid="dropzone-file"] {
  border-radius: 3px;
  border-width: 1px;
  background-color: hsl(var(--background) / .62);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 12px, hsl(var(--foreground) / .025) 12px, hsl(var(--foreground) / .025) 13px);
}

[data-testid="dropzone-file"] > span:first-of-type,
[data-testid="card-selected-file"] > span,
[data-testid="card-download-file"] > span {
  border-radius: 3px;
  box-shadow: none;
}

[data-testid="dropzone-file"] > span:first-of-type { animation:redact-float 3.8s ease-in-out infinite }
.site-footer { position:relative;z-index:5;display:flex;max-width:72rem;margin:0 auto;padding:1.4rem 2.5rem 2rem;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:.72rem;letter-spacing:.02em }
.site-footer span { margin-right:auto }.site-footer a { margin-left:1.4rem;text-decoration:none }.site-footer a:hover { color:hsl(var(--accent)) }
@keyframes redact-scan { 0%,58%{transform:translateX(-110%);opacity:0}64%{opacity:.72}88%{transform:translateX(110%);opacity:.72}94%,100%{transform:translateX(110%);opacity:0} }
@keyframes redact-float { 0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)} }

[data-testid^="button-expiry-"] {
  border-radius: 3px;
  min-height: 48px;
  text-align: center;
}

[data-testid^="button-expiry-"] > span:last-child { display: none; }

/* Keep navigation controls together instead of leaving the theme button centered. */
header > nav { order: 2; margin-left: auto; }
header > div { order: 3; margin-left: .35rem; }

/* The compact about page does not need a second summary strip. */
.app-noise main > div.mt-20 { display: none !important; }

[data-testid="button-start-transfer"],
[data-testid="button-download-file"],
[data-testid="button-copy-link"] {
  border-radius: 3px;
  box-shadow: none;
}

[data-testid="button-start-transfer"]:not(:disabled):hover,
[data-testid="button-download-file"]:not(:disabled):hover {
  transform: translate(-2px, -2px);
  box-shadow: 4px 4px 0 hsl(var(--accent));
}

button, a { transition-duration: 180ms; }

.password-option { margin:1rem 0;padding:1rem;border:1px solid hsl(var(--border));border-radius:3px;background:hsl(var(--background)/.55) }
.password-option__top { display:flex;align-items:center;justify-content:space-between;gap:1rem }
.password-option__top strong,.password-option__top span { display:block }.password-option__top strong { font-size:.82rem }.password-option__top span { margin-top:.2rem;color:hsl(var(--muted-foreground));font-size:.7rem }
.password-switch { display:flex;align-items:center;gap:.5rem;cursor:pointer }.password-switch input { position:absolute;opacity:0 }.password-switch span { position:relative;width:2.25rem;height:1.25rem;border:1px solid hsl(var(--border));border-radius:2rem;background:hsl(var(--muted));transition:background 180ms }.password-switch span::after { content:"";position:absolute;top:2px;left:2px;width:.88rem;height:.88rem;border-radius:50%;background:hsl(var(--muted-foreground));transition:transform 180ms,background 180ms }.password-switch input:checked+span { background:hsl(var(--primary)) }.password-switch input:checked+span::after { transform:translateX(1rem);background:hsl(var(--primary-foreground)) }.password-switch i { width:1.25rem;font-style:normal;font-size:.66rem;color:hsl(var(--muted-foreground)) }
.password-switch input:focus-visible + span { outline:2px solid hsl(var(--ring));outline-offset:2px }
.password-option__entry { margin-top:1rem;padding-top:1rem;border-top:1px solid hsl(var(--border)) }.password-option__entry>label,.password-dialog label { display:block;margin-bottom:.45rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em }.password-field { display:flex;border:1px solid hsl(var(--input));border-radius:3px;background:hsl(var(--card));overflow:hidden }.password-field:focus-within { outline:2px solid hsl(var(--ring));outline-offset:2px }.password-field input { min-width:0;flex:1;padding:.72rem;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:.82rem }.password-field button { padding:0 .8rem;border:0;border-left:1px solid hsl(var(--border));background:hsl(var(--muted));color:hsl(var(--foreground));font-size:.68rem;font-weight:700 }.password-option small { display:block;margin-top:.55rem;color:hsl(var(--muted-foreground));font-size:.66rem;line-height:1.45 }
.password-dialog { position:fixed;inset:0;width:min(92vw,28rem);max-height:min(90vh,34rem);margin:auto;padding:0;border:1px solid hsl(var(--foreground)/.35);border-radius:5px;background:hsl(var(--card));color:hsl(var(--foreground));box-shadow:12px 14px 0 hsl(var(--foreground)/.12) }.password-dialog::backdrop { background:hsl(204 30% 8%/.72);backdrop-filter:blur(5px) }.password-dialog__card { padding:2rem }.password-dialog__mark { display:block;width:2.7rem;height:.72rem;margin-bottom:1.6rem;background:hsl(var(--accent));transform:skewX(-7deg) }.password-dialog__eyebrow { margin:0!important;color:hsl(var(--accent))!important;font-size:.65rem!important;font-weight:800;text-transform:uppercase;letter-spacing:.14em }.password-dialog h2 { margin:.55rem 0 .7rem;font:400 2.15rem/.98 var(--app-font-serif);letter-spacing:-.045em }.password-dialog p { color:hsl(var(--muted-foreground));font-size:.78rem;line-height:1.55 }.password-dialog label { margin-top:1.4rem }.password-dialog__submit { width:100%;margin-top:1rem;padding:.85rem;border:0;border-radius:3px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:750 }.password-dialog__error { color:#9d3f35!important }
.protected-ready-note { display:flex;align-items:center;gap:.5rem;margin-top:.8rem;padding:.65rem .75rem;border-left:3px solid hsl(var(--accent));background:hsl(var(--accent)/.08);font-size:.68rem }.protected-ready-note strong { color:hsl(var(--foreground)) }.protected-ready-note span { color:hsl(var(--muted-foreground)) }

@media (max-width: 1023px) {
  main > section:first-child h1 { max-width: 12ch; }
  .quiet-shadow { box-shadow: 6px 7px 0 hsl(var(--foreground) / .07); }
}

@media (max-width: 639px) {
  header { background: hsl(var(--background) / .92); backdrop-filter: blur(12px); }
  main > section:first-child h1 { font-size: clamp(3rem, 15vw, 4.25rem); }
  main > section:nth-child(2) > div { padding: 1.1rem; }
  .site-footer { padding:1.25rem;flex-wrap:wrap;gap:.7rem }.site-footer span { flex-basis:100% }.site-footer a { margin:0 1.2rem 0 0 }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* Final home-page pass */
.app-noise > main.grid {
  align-items: center;
  min-height: auto;
  padding-top: clamp(1.25rem, 2.5vw, 2rem);
  padding-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.app-noise > main.grid > section:first-child {
  align-self: center;
  padding-bottom: 0;
}

.app-noise > main.grid > section:first-child > span {
  border: 1px solid hsl(var(--border));
  border-radius: 3px;
  background: hsl(var(--card));
  color: hsl(var(--muted-foreground));
}

.app-noise > main.grid > section:first-child > p {
  max-width: 31rem;
  color: hsl(var(--muted-foreground));
  font-size: clamp(.95rem, 1.4vw, 1.08rem);
  line-height: 1.75;
}

.app-noise > main.grid > section:nth-child(2) > div {
  padding: clamp(1.25rem, 2.5vw, 2rem);
  background:
    linear-gradient(135deg, hsl(var(--card)) 0%, hsl(var(--card)) 72%, hsl(var(--secondary) / .42) 100%);
  box-shadow: 12px 14px 0 hsl(var(--foreground) / .07);
}

.app-noise > main.grid > section:nth-child(2) > div::before {
  animation-iteration-count: 1;
}

.app-noise > main.grid > section:nth-child(2) > div > div:first-child {
  margin-bottom: 1.4rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid hsl(var(--border));
}

.app-noise > main.grid > section:nth-child(2) > div > div:first-child > span:last-child {
  display: none;
}

.app-noise > main.grid > section:nth-child(2) > div > div:first-child > div:first-child {
  display: flex;
  width: 100%;
  gap: .75rem;
}

.app-noise > main.grid > section:nth-child(2) > div > div:first-child > div:first-child > div {
  width: auto;
  min-width: 0;
}

.app-noise > main.grid > section:nth-child(2) > div > div:first-child > div:first-child > div:not(:last-child) {
  flex: 1 1 0;
}

.app-noise > main.grid > section:nth-child(2) > div > div:first-child > div:first-child > div:not(:last-child) > span:last-child {
  width: auto;
  flex: 1;
  margin-right: 0;
}

.app-noise > main.grid > section:nth-child(2) > div > div:first-child > div:first-child > div:last-child {
  flex: 0 0 auto;
  justify-content: flex-start;
}

[data-testid="dropzone-file"] {
  min-height: 220px;
  border-color: hsl(var(--foreground) / .24);
}

[data-testid="dropzone-file"]:hover {
  border-color: hsl(var(--accent));
  background-color: hsl(var(--accent) / .05);
}

[data-testid^="button-expiry-"] {
  display: grid;
  place-items: center;
  padding: .7rem .5rem;
  font-variant-numeric: tabular-nums;
}

[data-testid="button-start-transfer"] {
  min-height: 50px;
  margin-top: 1.25rem;
  letter-spacing: .01em;
}

[data-testid="button-toggle-theme"],
[data-testid="button-toggle-menu"] {
  border: 1px solid transparent;
}

[data-testid="button-toggle-theme"]:hover,
[data-testid="button-toggle-menu"]:hover {
  border-color: hsl(var(--border));
}

@media (max-width: 1023px) {
  .app-noise > main.grid { padding-top: 1.5rem; }
  .app-noise > main.grid > section:first-child { max-width: 42rem; }
}

@media (max-width: 639px) {
  .app-noise > main.grid { gap: 2.5rem; padding-top: 1.25rem; padding-bottom: 2rem; }
  .app-noise > main.grid > section:first-child h1 { max-width: 8ch; }
  .app-noise > main.grid > section:first-child > p { margin-top: 1.25rem; font-size: .93rem; line-height: 1.65; }
  .app-noise > main.grid > section:nth-child(2) > div { box-shadow: 6px 7px 0 hsl(var(--foreground) / .065); }
  [data-testid="dropzone-file"] { min-height: 190px; }
  .password-option__top { align-items: flex-start; }
}
