*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#100f20;color:#f4effa;font:16px/1.65 system-ui;background-image:radial-gradient(ellipse at 70% 0,#48305270,transparent 45%)}button,input,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;border:1px solid #77638a;background:#2b223c;color:#f6edff;border-radius:12px;padding:10px 17px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #f5c7d8;outline-offset:4px}header{display:flex;align-items:center;gap:20px;padding:25px 5%;border-bottom:1px solid #ffffff20}.brand{font:28px Georgia}.brand small{font:10px system-ui;letter-spacing:2px;display:block;margin-left:30px}nav{display:flex;align-items:center;gap:28px;margin-left:auto}main{max-width:1440px;padding:0 5%;margin:auto}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:8%;padding:65px 0}.eyebrow{font-size:11px;letter-spacing:2.5px;color:#ccb6e8;font-weight:700}h1{font:clamp(40px,4.7vw,72px)/1.09 Georgia;letter-spacing:-1.5px;margin:20px 0}h1 em{color:#ebbed6}.hero p{color:#d0c3d9}.hero-art{height:390px;border:1px solid #90759f;border-radius:150px 150px 24px 24px;overflow:hidden;position:relative;transform:rotate(3deg);box-shadow:0 25px 90px #8b5a9e30}.hero-art img{width:100%;height:100%;object-fit:cover}.hero-art span{position:absolute;bottom:20px;left:20px;right:20px;background:#171123c9;padding:12px;text-align:center;border-radius:15px;font:italic 18px Georgia}form{display:flex;padding:6px;border:1px solid #77638a;border-radius:15px;background:#ffffff08;margin-top:25px}input{min-width:0;flex:1;background:none;border:0;color:white;padding:10px}form button{background:#dfc1e8;color:#251731;font-weight:650}.hint{font-size:12px;color:#c7b5d5}h2{font:32px/1.2 Georgia}.heading{display:flex;align-items:end;justify-content:space-between;gap:15px}#status{font-size:13px;color:#cbb8da}#categories{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 45px}#categories button{font-size:12px;border-radius:25px;padding:8px 14px}[aria-pressed=true]{background:#e1c6ed;color:#281936}#grid{columns:4;column-gap:18px}.card{break-inside:avoid;display:inline-block;width:100%;margin-bottom:20px;background:#21192f;border:1px solid #ffffff1a;border-radius:17px;overflow:hidden}.open{padding:0;border:0;border-radius:0;background:none;width:100%;display:block;overflow:hidden}.card img{width:100%;height:auto;display:block;transition:transform .25s}.open:hover img{transform:scale(1.025)}.copy{padding:13px;display:flex;align-items:center;justify-content:space-between;gap:5px}.copy h3{font:18px Georgia;margin:0}.copy p{font-size:11px;color:#d0bfdd;margin:5px 0}.heart{padding:7px 10px;font-size:20px}aside{padding:30px;border:1px solid #ffffff25;background:linear-gradient(120deg,#35263f,#1b1a31);border-radius:20px;margin:45px 0}aside p{color:#d0c1db;font-size:14px;max-width:800px}footer{text-align:center;border-top:1px solid #ffffff20;padding:30px 5%;color:#d0c1db}footer button{border:0;background:none}dialog{background:#1b172a;color:#f3edf8;border:1px solid #8c729b;border-radius:20px;width:min(1000px,94vw);max-height:90dvh;padding:24px}dialog::backdrop{background:#080611e8;backdrop-filter:blur(6px)}#close,#info-close{display:block;margin-left:auto;margin-bottom:18px;font-size:22px}.viewer{display:grid;grid-template-columns:1fr 1fr;gap:28px}.viewer>img{width:100%;max-height:68dvh;object-fit:contain;border-radius:14px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.actions a{padding:10px 15px;background:#dfc1e8;color:#251731;border-radius:12px}#related{display:flex;gap:10px}#related button{padding:0;overflow:hidden;width:65px}#related img{width:100%;height:80px;object-fit:cover;display:block}#info{max-width:600px}#empty{text-align:center;padding:40px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip{position:fixed;top:-100px;background:white;color:black;z-index:10;padding:10px}.skip:focus{top:0}@media(max-width:900px){#grid{columns:3}.hero{gap:30px}.hero-art{height:320px}nav{gap:16px}}@media(max-width:650px){header{flex-wrap:wrap;padding:18px 5%}nav{margin:0;width:100%;justify-content:space-between;font-size:14px}.hero{grid-template-columns:1fr;padding:35px 0;gap:30px}h1{font-size:43px}.hero-art{height:240px;transform:none;border-radius:100px 100px 20px 20px}#grid{columns:2;column-gap:12px}.copy{padding:10px}.copy h3{font-size:16px}.heart{padding:6px;font-size:18px}.heading{display:block}h2{font-size:28px}.viewer{grid-template-columns:1fr}.viewer>img{max-height:45dvh}dialog{padding:18px}form button{padding:9px 12px}aside{padding:22px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Tested application additions; preserve the approved visual system. */
body:has(dialog[open]){overflow:hidden}button:disabled{cursor:not-allowed;opacity:.55}.collection-panel{padding:25px 0}.collection-list,.footer-links,.tags{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.footer-links{justify-content:center}.footer-links a{text-decoration:underline;text-underline-offset:5px}.tags button{font-size:12px;padding:5px 10px;border-radius:20px}.image-error{min-height:180px;background:#322741;color:#f0d8ed}.actions select{max-width:100%;background:#2b223c;color:#f6edff;border:1px solid #8f78a4;border-radius:10px;padding:9px}.actions label{align-self:center}.policy{max-width:800px;padding-top:40px;padding-bottom:50px}.policy a{text-decoration:underline}.policy p,.policy li{color:#d0c1db}.policy h1{font-size:46px}.policy h2{font-size:28px}.policy li{margin:10px 0}#viewer .viewer>div{min-width:0}#feedback{overflow-wrap:anywhere}.card .open{border-radius:0}.card .heart{flex-shrink:0}.copy h3{overflow-wrap:anywhere}.copy>div{min-width:0}
@media(max-width:650px){button,.actions a,.footer-links a{min-height:44px}.heart{min-width:44px}.copy{align-items:flex-start}.hero-art span{font-size:16px}#categories{gap:8px}#categories button{font-size:12px}.collection-panel form{flex-wrap:wrap}.collection-panel form input{flex-basis:120px}.collection-panel form button{flex-grow:1}.viewer .actions{gap:8px}.viewer h2{font-size:27px}.viewer{gap:16px}#full{height:auto}.viewer .tags{gap:6px}.brand{font-size:26px}}

.hero>div{min-width:0}form{width:100%;max-width:100%}form input{width:0;min-width:0}form button{flex-shrink:0}

@media(max-width:650px){.card{position:relative}.card .copy{display:block}.card .heart{position:absolute;top:9px;right:9px;background:#21192fe8;border-color:#b098c0}.card .copy h3{overflow-wrap:normal;font-size:17px}.card .copy p{overflow-wrap:anywhere}.collection-list button{overflow-wrap:anywhere}}

.report-form{display:flex;flex-direction:column;gap:10px;margin:24px 0;padding:18px}.report-form h3{font-family:Georgia,serif;font-size:23px}.report-form textarea,.report-form select{width:100%;min-width:0;padding:10px;color:#f3edf8;background:#21192f;border:1px solid #947ea5;border-radius:8px;font:inherit}.report-form textarea{resize:vertical}.report-form label{font-size:14px}.report-form .report-ack{display:flex;align-items:flex-start;gap:10px}.report-form input[type=checkbox]{width:20px;min-width:20px;flex:none;accent-color:#d7b5e5}.report-form p{overflow-wrap:anywhere}

/* Keep keyboard focus visible on the collection selector and skip target. */
select:focus-visible, #gallery:focus-visible {
  outline: 3px solid #f5c7d8;
  outline-offset: 4px;
}

@media (min-width: 1100px) {
  main:not(.policy) {
    max-width: 1720px;
    padding-inline: clamp(40px, 4vw, 76px);
  }

  .hero {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
    gap: clamp(36px, 5vw, 88px);
    padding-block: clamp(58px, 5vw, 96px);
  }

  .hero h1 {
    font-size: clamp(52px, 4.6vw, 82px);
    text-wrap: balance;
  }

  .hero-art {
    height: clamp(370px, 32vw, 540px);
  }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .card .open:hover img {
    transform: scale(1.025);
  }
}
