body{font-family:"Helvetica Neue",Arial,sans-serif}
main,.mast,footer{padding-inline:clamp(18px,3vw,56px)}
main{max-width:1850px;margin:auto;padding-top:22px}
.mast{position:relative;z-index:3;display:grid;grid-template-columns:1fr auto 1fr;padding-block:12px;background:var(--paper)}
.brand{font-size:38px;letter-spacing:-.11em;line-height:1}.brand span{color:var(--accent);font-size:17px;vertical-align:top}
.mast nav{display:flex;align-items:center;margin:0;gap:12px}.mast nav a{padding:0;border-radius:0}.mast nav b{color:var(--ink);font-weight:400}
.mast a:hover,.arrow:hover,.footlinks a:hover{color:var(--accent);background:transparent}
.directory{justify-self:end;position:relative}.directory summary{list-style:none;cursor:pointer;background:var(--accent-fill);color:var(--ink);padding:6px 14px;border-radius:2px}.directory div{position:absolute;right:0;top:100%;background:var(--surface);width:225px;padding:10px}.directory a{display:block;padding:5px;text-decoration:none}
.ticker{display:flex;gap:30px;overflow:auto;border-bottom:1px solid var(--line);padding:0 0 16px}.ticker a{text-decoration:none;white-space:nowrap}.ticker i,small{font:normal .72rem/1.4 Consolas,monospace;letter-spacing:.045em}.ticker i{color:var(--accent);margin-right:4px}
.lead{display:grid;grid-template-columns:1.1fr 1fr;gap:5vw;align-items:center;padding:clamp(35px,6vw,100px) 0}
h1,h2,h3{font-weight:500;letter-spacing:-.065em}.lead h1{font-size:clamp(3rem,6.5vw,7.5rem);line-height:.93;margin:.25em 0}.lead p{max-width:32ch;font-size:clamp(1.1rem,1.7vw,1.7rem);line-height:1.18}.arrow,.heading>a,.footlinks a{text-underline-offset:5px}
.spot{position:relative;display:grid;background:var(--surface);min-height:180px;overflow:hidden;text-decoration:none}.spot img{width:100%;height:100%;aspect-ratio:1.35;object-fit:cover}.spot span{position:absolute;bottom:0;background:var(--paper);color:var(--ink);padding:6px 14px}.spot strong{font-size:8rem}
.metrics{margin:0 0 50px}.metrics a{border-right:1px solid var(--line);padding:18px}.metrics a:last-child{border:0}.metrics b{font-weight:500;font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.08em}.metrics a:hover{color:var(--accent)}
.art,.cover,.feature,dialog{border-radius:0}.art{color:var(--ink)}.caption p,.sheet small{color:var(--ink)}.caption h3{font-size:clamp(1.6rem,2.6vw,3rem)}.card:hover h3{color:var(--accent)}.feature{background:var(--accent-fill);color:var(--ink);margin-top:52px;padding:clamp(22px,4vw,64px)}.feature h2{margin-top:.55em}.button,button{border-radius:2px;background:var(--accent-fill);color:var(--ink)}.sheet section{display:grid;grid-template-columns:minmax(120px,20%) 1fr;gap:20px}.sheet ol{margin-top:0}.cover{height:auto;max-height:50vh;object-fit:contain;background:var(--surface)}dialog{color:var(--ink);background:var(--paper)}dialog input,dialog textarea,dialog select{background:var(--surface);color:var(--ink);border-color:var(--line);border-radius:2px}
footer{border-top:1px solid var(--line);padding-block:32px}.footer-title{font-size:clamp(2.3rem,8vw,9rem);letter-spacing:-.075em;line-height:1}.footlinks{display:flex;flex-wrap:wrap;gap:20px;margin-top:24px}
@media(max-width:720px){.mast{grid-template-columns:auto 1fr auto;gap:10px}.mast nav{justify-content:center;gap:6px;font-size:.8rem}.lead{grid-template-columns:1fr}.spot img{aspect-ratio:1.9}.sheet section{grid-template-columns:1fr;gap:6px}.metrics a{padding:10px}.brand{font-size:30px}.directory summary{font-size:.85rem;padding:6px}.ticker{gap:15px}}
.zoom{display:block;cursor:zoom-in;margin-block:12px}.zoom img{display:block;width:100%;height:clamp(200px,49vh,580px);object-fit:cover}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}.photo-grid .zoom{margin:0}.photo-grid .zoom:first-child{grid-column:1/-1}.photo-grid .zoom:not(:first-child) img{height:190px}.photo-grid{margin:12px 0}
#viewer{width:fit-content;max-width:96vw;max-height:96vh;padding:10px;border:none;background:var(--paper)}#viewer form{text-align:right;margin-bottom:6px}#viewer img{display:block;max-width:90vw;max-height:78vh;width:auto;height:auto;object-fit:contain}

html:has(#editor[open]) { overflow: hidden; }
#editor {
  --inset: clamp(16px, 3.5vw, 64px);
  width: 94vw; height: 92dvh; max-width: none; max-height: none;
  padding: 0; border: 0; overflow: hidden; color-scheme: light;
  background: var(--paper); color: var(--ink);
}
#editor[open] { display: grid; grid-template-rows: auto minmax(0,1fr) auto; }
#editor::backdrop { background: rgb(0 0 0 / .32); }
.editor-head, .editor-actions { display: flex; align-items: center; gap: 16px; padding-inline: var(--inset); }
.editor-head { justify-content: space-between; padding-block: clamp(14px,3vh,34px); }
.editor-head small { color: var(--accent); }
.editor-head h2 { margin: 5px 0 0; font-size: clamp(2rem,4vw,4.5rem); }
#editor .editor-close, #editor .quiet { background: transparent; color: inherit; }
#editor .editor-close { font-size: 2rem; line-height: 1; }
#entry-form {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start;
  gap: 22px 32px; overflow: auto; overscroll-behavior: contain;
  padding: 12px var(--inset) 32px; scrollbar-width: thin; scrollbar-color: #aaa transparent;
}
#entry-form label { margin: 0; min-width: 0; color: var(--ink); font-weight: 500; }
#entry-form :is(input, textarea, select) {
  margin: 7px 0 0; border: 0; border-radius: 5px; background: var(--surface); color: var(--ink);
  padding: 13px 15px; font-weight: 400;
}
#entry-form textarea { min-height: clamp(100px,18vh,220px); resize: vertical; }
#entry-form :is(input, textarea, select):focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
#entry-form input::file-selector-button { border: 0; border-radius: 3px; padding: 7px 10px; margin-right: 10px; background: var(--accent-tint); color: var(--ink); }
.cost-help { grid-column: 1/-1; overflow-wrap: anywhere; }
.editor-actions { justify-content: flex-end; background: var(--surface); padding-block: 14px; }
@media(max-width:720px) {
  #editor { width: 100%; height: 100dvh; margin: 0; }
  #entry-form { grid-template-columns: minmax(0,1fr); gap: 16px; }
}
.actions{flex-wrap:wrap}.delete-action{color:var(--ink);background:var(--accent-tint)}.delete-action:hover{background:var(--accent-fill)}
.lead h1.literary-quote{font-size:clamp(2rem,3.6vw,4.2rem);line-height:1.04;overflow-wrap:anywhere}

.directory div{background:var(--paper);box-shadow:0 8px 28px rgb(0 0 0 / .12)}
.art{background:var(--accent-tint)}
.gallery-edit{grid-column:1/-1}.gallery-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:16px}.gallery-item{padding:12px;background:var(--surface)}.gallery-item img{width:100%;height:150px;object-fit:cover}.gallery-item label{display:block;margin-top:8px!important}#entry-form .gallery-item input[type=checkbox]{display:inline;width:auto;accent-color:var(--accent)}
