/* Public editorial layer: clean reading planes, paper only where it is tangible. */
html[data-portfolio] { --paper:#fafaf8;--paper-bright:#fff;--ink:#222927;--accent:#ac4f35; background:#fafaf8; }
html[data-portfolio] body { background:#fafaf8; font-family:Inter,'PingFang SC','Microsoft YaHei',system-ui,sans-serif; }
html[data-portfolio] .workspace { background:#fafaf8; }
html[data-portfolio] .workspace::before { display:none; }
html[data-portfolio] .grain, html[data-portfolio] .orbit-guide, html[data-portfolio] .scene-center { display:none; }
[data-public-site] .masthead { display:flex;justify-content:space-between; padding-inline:clamp(20px,4vw,64px);height:74px;background:rgba(250,250,248,.94);border:0; }
[data-public-site] .wordmark { font-size:11px;letter-spacing:.12em; }
[data-public-site] .read-memory-book { display:none; }
.portfolio-nav { display:flex;gap:clamp(12px,2vw,32px); }
.portfolio-nav button { padding:12px 3px;border:0;background:none;color:#333d38;font:500 14px/1.3 system-ui,sans-serif;cursor:pointer; }
.portfolio-nav button:hover { color:var(--accent); }
html[data-portfolio] :focus-visible { outline:2px solid var(--accent);outline-offset:4px; }
[data-public-site] .hero { min-height:calc(100svh - 74px);background:#fafaf8; }
[data-public-site] .intro { z-index:7;pointer-events:none;max-width:430px; }
[data-public-site] .intro h1 { font-size:clamp(28px,3.4vw,49px);line-height:1.28;letter-spacing:-.045em; }
[data-public-site] .intro-copy { max-width:340px;font:400 13px/1.8 'PingFang SC','Microsoft YaHei',sans-serif; }
[data-public-site] .eyebrow { font:500 9px/1.6 sans-serif;letter-spacing:.13em;color:#696f69; }
[data-public-site] .scene-controls > p,[data-public-site] .replay-prelude { display:none; }
[data-public-site] .scene-controls { z-index:15;gap:14px; }
[data-public-site][data-public-view='shelf'] .motion-toggle { display:none; }
[data-public-site] .scene-controls button { min-height:44px;font-family:inherit;font-size:12px; }
.portfolio-view-switch { padding:7px 13px;color:#555e58;border:1px solid #dadeda;border-radius:30px;background:#fafaf8;cursor:pointer; }
[data-public-site] [data-opening='true'] .scene-controls { opacity:1;pointer-events:auto; }
[data-public-site][data-opening='true'] .scene-controls { opacity:1;pointer-events:auto; }
[data-public-site] .metadata-instruction,[data-public-site] .metadata-card dl,[data-public-site] .metadata-caption,[data-public-site] .metadata-index { display:none; }
[data-public-site] .entry-cue { font:11px/1.5 system-ui,sans-serif;color:#767b76; }
[data-public-site] .scene-shell[hidden],.portfolio-shelf[hidden],.profile-stage[hidden] { display:none!important; }
.portfolio-shelf { position:absolute;inset:150px 8vw 100px 35vw;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:30px 26px;overflow:auto;padding:20px 25px; }
.shelf-book { position:relative;min-width:0;padding:0 0 8px;background:none;border:0;cursor:pointer;perspective:900px; }
.shelf-book::after { content:'';position:absolute;bottom:-7px;height:7px;left:-16px;right:-16px;background:#fff;box-shadow:0 7px 9px #15211d19;z-index:-1; }
.shelf-book img { display:block;width:100%;height:clamp(80px,14svh,160px);object-fit:contain;filter:drop-shadow(-5px 6px 3px #15211d33);transform:rotateY(-9deg);transition:transform .25s; }
.shelf-book:hover img,.shelf-book:focus-visible img { transform:translateY(-6px) rotateY(0); }
.shelf-book span { display:block;margin-top:15px;color:#414843;font-size:12px; }
[data-public-site] .atelier,[data-public-site] .collection { background:#fafaf8; }
[data-public-site] .atelier-header p,[data-public-site] .atelier-release-id,[data-public-site] .atelier-kicker,[data-public-site] .atelier-memory-meta,[data-public-site] .collection-kicker,[data-public-site] .collection-release-state,[data-public-site] .collection-stage-copy,[data-public-site] .collection-footnote { display:none; }
[data-public-site] .atelier-layout { grid-template-columns:minmax(160px,.6fr) minmax(0,1.4fr);gap:50px; }
[data-public-site] #atelier-title,[data-public-site] #collection-title { max-width:none;font:400 clamp(26px,3.4vw,44px)/1.25 'Iowan Old Style','Songti SC',serif;word-break:keep-all; }
[data-public-site] .atelier-copy { max-width:340px; }
[data-public-site] .atelier-intro,[data-public-site] .collection-intro { font:13px/1.8 system-ui,sans-serif; }
[data-public-site] .collection-stage { display:block; }
[data-public-site] .collection-items { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px; }
[data-public-site] .collection-item { border:0;background:none;box-shadow:none; }
[data-public-site] .collection-item-copy strong { font:400 16px/1.5 system-ui,sans-serif; }
html[data-portfolio] .collection-item[data-object] { grid-column:auto;aspect-ratio:auto;padding:0;border:0;outline:0;border-radius:0;background:transparent;box-shadow:none;transform:none;display:block; }
html[data-portfolio] .collection-item[data-object]::before,html[data-portfolio] .collection-item[data-object]::after,html[data-portfolio] .collection-item-number { display:none; }
html[data-portfolio] .collection-item[data-object] .collection-thumb { width:100%;height:auto;min-height:0;aspect-ratio:var(--photo-width-factor,1.4) / var(--photo-height-factor,1);background:transparent; }
html[data-portfolio] .collection-item[data-object] .collection-thumb::before { inset:0;width:100%;height:100%;aspect-ratio:auto;transform:none;background-size:var(--photo-size-x) var(--photo-size-y);background-position:var(--photo-position-x) var(--photo-position-y); }
html[data-portfolio] .collection-item[data-object] .collection-item-copy { position:static;display:block;padding:13px 0; }
html[data-portfolio] .collection-item-copy small,html[data-portfolio] .atelier-format-copy p { display:none; }
/* The viewer does not change the photograph's aspect ratio or crop it. */
.portfolio-overlay { width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;color:#fff;background:#202521; }
.portfolio-overlay::before { content:'';position:fixed;inset:-45px;background:linear-gradient(#15201970,#17201999),var(--reader-photo) center/cover;filter:blur(30px);pointer-events:none; }
.portfolio-overlay::backdrop { background:#202521cc; }
.portfolio-overlay-bar { position:relative;z-index:1;height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;gap:20px; }
.portfolio-overlay-bar h2 { font:500 clamp(16px,2vw,23px)/1.4 system-ui,sans-serif;margin:0; }
.portfolio-overlay button,.portfolio-overlay a { min-height:44px;padding:10px 16px;border:1px solid #ffffff40;background:#26332c55;border-radius:30px;color:#fff;font:12px/1.5 system-ui,sans-serif;cursor:pointer;text-decoration:none; }
.portfolio-overlay button:hover,.portfolio-overlay a:hover { background:#ffffff25; }
.portfolio-overlay button:disabled { opacity:.35;cursor:default; }
.portfolio-viewer { position:relative;height:calc(100svh - 160px);padding:8px 6vw;display:grid;place-items:center; }
.portfolio-viewer img { max-width:88vw;max-height:calc(100svh - 176px);width:auto;height:auto;min-height:0;min-width:0;object-fit:contain;box-shadow:0 14px 65px #0003; }
.portfolio-overlay-navigation { position:relative;display:flex;height:80px;gap:14px;align-items:center;justify-content:center; }
.portfolio-overlay-navigation span { min-width:60px;text-align:center;font:12px/1 sans-serif; }
.portfolio-overlay .secondary-action { border-color:transparent;background:transparent;opacity:.8; }
.portfolio-overlay-error { position:absolute;bottom:100px;left:0;right:0;text-align:center; }
.profile-stage { height:calc(100svh - 74px);overflow:auto;padding:30px 6vw 35px;display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.8fr);grid-template-rows:1fr auto;gap:20px 5vw; }
.profile-heading { align-self:center;max-width:350px; }
.profile-heading > p:first-child { font:10px/1.5 sans-serif;letter-spacing:.15em;color:var(--accent); }
.profile-heading h2 { margin:20px 0;font:400 clamp(27px,3.6vw,48px)/1.25 'Iowan Old Style','Songti SC',serif; }
.profile-bio { font:14px/1.95 'PingFang SC','Microsoft YaHei',sans-serif;color:#68726b; }
.paper-board { position:relative;min-height:420px;max-height:640px;height:100%;overflow:hidden;isolation:isolate;border-radius:3px;background:radial-gradient(#68706827 .9px,transparent 1px) 0 0/20px 20px,#f2f3ef; }
.document-paper { position:absolute;left:var(--paper-x,6%);top:var(--paper-y,15%);width:61%;transform:rotate(-3deg);margin:0;padding:18px 9px 10px;background:#fff;box-shadow:0 9px 22px #26352925;border:1px solid #e4e7df;transition:box-shadow .18s; }
.document-paper[data-paper='resume'] { width:31%;left:var(--paper-x,65%);top:var(--paper-y,23%);transform:rotate(3deg); }
.document-paper[data-paper-dragging] { box-shadow:0 22px 45px #26352938; }
.paper-handle { position:absolute;top:0;left:0;right:0;width:100%;height:22px;display:grid;place-items:center;background:transparent;border:0;cursor:grab;touch-action:pan-y;color:#889389;letter-spacing:4px; }
.paper-handle:active { cursor:grabbing; }
.document-paper-preview { display:block;width:100%;border:0;padding:0;background:none;cursor:zoom-in; }
.document-paper-preview img { display:block;width:100%;height:auto;pointer-events:none; }
.paper-label { display:block;padding:10px 4px 0;color:#737b74;font:10px/1.5 sans-serif; }
.document-actions { grid-column:2;display:flex;gap:25px;flex-wrap:wrap; }
.document-action-row { display:flex;align-items:center;gap:10px;font-size:12px; }
.document-action-row strong { font-weight:500;margin-right:6px; }
.document-action-row button,.document-action-row a { padding:10px 6px;min-height:44px;border:0;background:none;color:var(--accent);font:12px/1.5 system-ui,sans-serif;cursor:pointer;text-decoration:none; }
/* Only the reading atmosphere is blurred; the paper and type remain sharp. */
html[data-portfolio] .archive-dialog[data-archive-kind='book'] { width:100vw;height:100svh;max-height:none;max-width:none;margin:0;border:0;border-radius:0;background:#24362e;color:#fff;isolation:isolate; }
html[data-portfolio] .archive-dialog[data-archive-kind='book']::before { content:'';position:fixed;inset:-45px;z-index:-1;background:linear-gradient(#25302780,#18271c99),var(--reader-photo) center/cover;filter:blur(32px);pointer-events:none; }
html[data-portfolio] .book-reader { min-height:0;background:none;padding:0 3vw 14px; }
html[data-portfolio] .book-reader-header { padding:0;border:0;justify-content:center; }
html[data-portfolio] .book-reader-title { font:500 18px/1.4 'PingFang SC','Microsoft YaHei',sans-serif;max-width:75vw; }
html[data-portfolio] .book-reader-header p,html[data-portfolio] .book-reader-meta,html[data-portfolio] .book-content-summary,html[data-portfolio] .book-reader-actions,html[data-portfolio] .book-close-cover,html[data-portfolio] .dialog-dismiss-hint { display:none; }
html[data-portfolio] .book-reader-hint { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
html[data-portfolio] .book-reader-stage { min-height:0;padding:18px 0; }
html[data-portfolio] .book-reader-shell { width:min(1040px,90vw,calc((100svh - 170px)*1.62)); }
html[data-portfolio] .book-page { --leaf-extent:min(642px,calc(90vw / 1.62),calc(100svh - 170px)); }
html[data-portfolio] .book-page { color:#27322b;background:#fcfcfa;border-color:#dee1da;padding:clamp(20px,2.8vw,35px); }
html[data-portfolio] .book-page-kicker { display:none; }
html[data-portfolio] .book-page-title { font-size:clamp(25px,3vw,39px); }
html[data-portfolio] .book-page-meta { display:none; }
html[data-portfolio] .book-page[data-leaf-kind='frontmatter'] .book-page-title { display:none; }
html[data-portfolio] .book-frontispiece-image { width:100%;max-width:none;aspect-ratio:var(--image-aspect,1.4);margin:28px 0 0;background:none;transform:none;box-shadow:none; }
html[data-portfolio] .book-frontispiece-image { width:min(100%,calc((var(--leaf-extent) - 140px)*var(--image-aspect,1.4)));margin:25px auto 0; }
html[data-portfolio] .book-frontispiece-image:has(img)::before { display:none; }
html[data-portfolio] .book-frontispiece-image img { width:100%;height:100%;display:block;object-fit:contain; }
html[data-portfolio] .book-frontispiece-image::before,html[data-portfolio] .editorial-image-visual[data-photo-crop='true']::before { background-size:var(--photo-size-x) var(--photo-size-y);background-position:var(--photo-position-x) var(--photo-position-y); }
html[data-portfolio] .book-page .editorial-image { width:100%;max-width:none;padding:0;margin:12px 0 22px;background:none;box-shadow:none; }
html[data-portfolio] .book-page .editorial-image::before { display:none; }
html[data-portfolio] .book-page .editorial-image-visual { height:auto;min-height:0;background:none;aspect-ratio:var(--image-aspect,1.4); }
html[data-portfolio] .book-page .editorial-image-visual:has(img)::before { display:none; }
html[data-portfolio] .book-page .editorial-image-visual { width:min(100%,calc((var(--leaf-extent) - 150px)*var(--image-aspect,1.4)));margin-inline:auto; }
html[data-portfolio] .book-page .editorial-image-document { background:transparent; }
html[data-portfolio] .book-page .editorial-image figcaption { color:#747c75;font:10px/1.7 sans-serif; }
html[data-portfolio] .book-navigation { margin:0 auto;max-width:420px;padding:0; }
html[data-portfolio] .book-navigation button { color:#fff;background:#ffffff17;border-color:#ffffff50; }
html[data-portfolio] .book-page-status { color:#fff;font:12px/1.5 system-ui,sans-serif; }
html[data-portfolio] .book-navigation-spacer { display:none; }
html[data-portfolio] .dialog-close-row { padding:12px 3vw 0;background:none; }
html[data-portfolio] .dialog-close { background:#ffffffde;color:#24332b;font:12px/1.5 system-ui,sans-serif; }
.editorial-composition { display:grid;grid-template-columns:repeat(var(--layout-columns,1),minmax(0,1fr));grid-template-rows:repeat(var(--layout-rows,1),minmax(0,1fr));align-items:center;gap:14px;min-height:80%; }
html[data-portfolio] .editorial-composition { min-height:0; }
html[data-portfolio] .book-page .editorial-composition .editorial-image { margin:0;min-width:0; }
[data-editorial-layout='offset'] .editorial-composition { width:85%;margin:8% 0 0 auto; }
[data-editorial-variant='portrait'] .editorial-composition { width:70%;margin:0 auto; }
[data-editorial-variant='staggered'] .editorial-image:nth-child(even) { transform:translateY(20px)!important; }
@media(max-width:760px) {
  [data-public-site] .masthead { height:64px;padding:0 20px; }
  [data-public-site] .wordmark > span:last-child { display:none; }
  [data-public-site] .hero { min-height:calc(100svh - 64px); }
  [data-public-site] .intro { max-width:260px; }
  [data-public-site] .intro h1 { font-size:30px; }
  [data-public-site] .intro-copy { font-size:11px;max-width:240px; }
  [data-public-site] .scene-controls { gap:10px; }
  [data-public-site] .motion-toggle { display:none; }
  .portfolio-shelf { inset:180px 5vw 100px;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 18px;padding:20px 14px; }
  .shelf-book img { height:120px; }
  .profile-stage { height:calc(100svh - 64px);padding:22px;display:block; }
  .profile-heading { max-width:100%; }
  .profile-heading h2 { font-size:30px;margin:12px 0; }
  .profile-bio { font-size:12px;line-height:1.8; }
  .paper-board { margin:22px 0 12px;height:350px;min-height:0; }
  .document-paper { width:64%;top:var(--paper-y,13%);left:var(--paper-x,4%); }
  .document-paper[data-paper='resume'] { top:var(--paper-y,43%);left:var(--paper-x,60%);width:32%; }
  .document-actions { display:block; }
  .document-action-row { justify-content:space-between; }
  .portfolio-viewer { height:calc(100svh - 190px);padding:8px 18px; }
  .portfolio-viewer img { max-width:calc(100vw - 36px);max-height:calc(100svh - 206px); }
  .portfolio-overlay-navigation { height:110px;gap:8px;flex-wrap:wrap;padding:8px 20px;align-content:center; }
  .portfolio-overlay-navigation button,.portfolio-overlay-navigation a { font-size:11px;padding:8px 12px; }
  .portfolio-overlay-navigation span { min-width:40px; }
  .portfolio-overlay-bar { height:64px;padding-inline:20px; }
  [data-public-site] .atelier-layout { display:block; }
  [data-public-site] .atelier-copy { max-width:none;margin-bottom:25px; }
  [data-public-site] .collection-items { grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
}
@media(max-width:620px) {
  html[data-portfolio] .book-page { --leaf-extent:min(calc(88vw / .72),calc(100svh - 160px)); }
  html[data-portfolio] .book-reader-shell { width:min(88vw,calc((100svh - 160px)*.72)); }
  html[data-portfolio] .book-page { padding:22px; }
  html[data-portfolio] .book-reader-stage { padding:15px 0; }
  html[data-portfolio] .book-reader-title { font-size:16px;text-align:center; }
}
@media(prefers-reduced-motion:reduce) {
  .shelf-book img,.document-paper { transition:none; }
}
