﻿:root{color-scheme:dark;--paper:#f4efe4;--seal:#b93a2f;--gold:#f1c97a;--ink:#211a15;--indigo:#2d4663}*[hidden]{display:none!important}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;overflow-x:hidden;background:#14110e;color:var(--paper);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",Georgia,serif}button{font:inherit}img{display:block;max-width:100%}.museum{position:relative;min-height:100svh;overflow:hidden;background:#18140f}.museum:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 30% 10%,rgba(216,173,84,.18),transparent 30%),linear-gradient(180deg,#241d17,#14110e 62%,#0d0b09)}.museum.is-second-room:before{background:radial-gradient(circle at 70% 12%,rgba(71,108,90,.24),transparent 28%),linear-gradient(180deg,#17211d,#111513 62%,#0b0d0c)}.museum.is-third-room:before{background:radial-gradient(circle at 76% 18%,rgba(45,70,99,.28),transparent 30%),linear-gradient(180deg,#181a25,#11131a 62%,#0b0c10)}.museum.is-fourth-room:before{background:radial-gradient(circle at 22% 14%,rgba(185,58,47,.18),transparent 25%),radial-gradient(circle at 74% 16%,rgba(216,173,84,.22),transparent 29%),linear-gradient(180deg,#241815,#151512 62%,#0c0d0b)}.museum.is-fifth-room:before{background:radial-gradient(circle at 18% 14%,rgba(45,70,99,.24),transparent 25%),radial-gradient(circle at 74% 18%,rgba(185,58,47,.18),transparent 28%),linear-gradient(180deg,#161923,#111216 62%,#0b0c0f)}
.museum-hud{position:fixed;z-index:70;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:18px clamp(14px,4vw,56px);color:#fff8ea;background:linear-gradient(180deg,rgba(19,15,12,.84),rgba(19,15,12,0))}.museum-title,.hud-link{color:inherit;text-decoration:none}.museum-title{font-size:clamp(1rem,2.4vw,1.35rem);font-weight:700;white-space:nowrap}.hud-center{display:inline-flex;align-items:center;gap:14px;min-height:38px;padding:0 18px;border:1px solid rgba(255,248,234,.22);border-radius:999px;background:rgba(25,20,16,.5);backdrop-filter:blur(14px);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}.work-counter{color:var(--gold);font-variant-numeric:tabular-nums}.hud-actions{grid-column:1/-1;display:flex;align-items:center;gap:8px;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 2px 8px;scrollbar-color:rgba(241,201,122,.72) rgba(255,248,234,.12)}.hud-actions::-webkit-scrollbar{height:6px}.hud-actions::-webkit-scrollbar-track{background:rgba(255,248,234,.12);border-radius:999px}.hud-actions::-webkit-scrollbar-thumb{background:rgba(241,201,122,.72);border-radius:999px}.room-tab{flex:0 0 auto;min-height:34px;padding:0 12px;border:1px solid rgba(255,248,234,.24);border-radius:999px;color:#fff8ea;background:rgba(255,248,234,.08);cursor:pointer;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:.82rem;white-space:nowrap}.room-tab.is-active{color:#2b2119;border-color:var(--gold);background:var(--gold)}.hud-link{flex:0 0 auto;margin-left:auto;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}.room-tab:focus-visible,.hud-link:focus-visible,.walk-button:focus-visible{outline:2px solid rgba(255,248,234,.54);outline-offset:3px}
.walk-room{position:relative;height:100svh;min-height:620px;overflow:hidden;perspective:940px;perspective-origin:50% 48%;isolation:isolate}.room-bg,.room-bg:before,.room-bg:after{position:absolute;inset:0;pointer-events:none}.room-bg{background:linear-gradient(90deg,rgba(217,204,186,.95) 0 25%,transparent 25% 75%,rgba(217,204,186,.95) 75% 100%)}.room-bg:before{content:"";top:8%;left:21%;right:21%;bottom:34%;background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,248,235,.08)),#bba98f;clip-path:polygon(0 0,100% 0,88% 100%,12% 100%);opacity:.72}.room-bg:after{content:"";top:auto;height:42%;background:linear-gradient(90deg,transparent 0 48%,rgba(255,248,231,.14) 49% 51%,transparent 52% 100%),repeating-linear-gradient(90deg,transparent 0 13%,rgba(255,245,225,.12) 13.2% 13.6%,transparent 14% 27%),linear-gradient(180deg,#594535,#241b15 72%,#15110e);clip-path:polygon(18% 0,82% 0,100% 100%,0 100%)}.room-bg i{position:absolute;top:8%;width:clamp(40px,8vw,90px);height:10px;border-radius:999px;background:#f5d389;box-shadow:0 16px 42px 12px rgba(245,211,137,.18)}.room-bg i:nth-child(1){left:21%}.room-bg i:nth-child(2){left:37%}.room-bg i:nth-child(3){left:50%}.room-bg i:nth-child(4){right:37%}.room-bg i:nth-child(5){right:21%}.corridor{position:absolute;inset:0;transform-style:preserve-3d;transition:transform 620ms cubic-bezier(.2,.75,.2,1);will-change:transform;z-index:6}.exhibit{position:absolute;top:48%;left:50%;width:clamp(150px,17vw,270px);padding:9px;border:1px solid rgba(232,195,112,.52);border-radius:6px;background:linear-gradient(135deg,rgba(255,236,173,.34),transparent 28%,rgba(0,0,0,.22) 68%,rgba(255,236,173,.18)),linear-gradient(90deg,#3b281d,#765338 48%,#3b281d);box-shadow:0 28px 54px rgba(29,22,16,.38),inset 0 0 0 2px rgba(255,232,166,.28),inset 0 0 0 9px rgba(35,23,16,.34),0 0 0 10px rgba(72,52,37,.2);transform-style:preserve-3d;cursor:zoom-in;transition:filter .24s,box-shadow .24s,opacity .24s}.exhibit:before{content:"";position:absolute;left:18px;right:18px;top:-34px;height:24px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,235,183,.48),transparent 68%)}.exhibit__frame{display:block;padding:clamp(8px,.9vw,14px);border:1px solid rgba(255,225,150,.62);border-radius:4px;background:#5b3f2b;box-shadow:inset 0 0 0 4px rgba(42,28,19,.44),inset 0 0 0 7px rgba(219,172,82,.28),0 10px 24px rgba(0,0,0,.24)}.exhibit__mat{display:block;padding:clamp(9px,1.2vw,17px);border:1px solid rgba(93,70,43,.26);background:repeating-linear-gradient(0deg,rgba(88,66,41,.035) 0 1px,transparent 1px 18px),#f3ead7}.exhibit__image{width:100%;aspect-ratio:4/3;object-fit:contain;border:1px solid rgba(36,28,20,.16);background:rgba(255,252,244,.78)}.exhibit__label{display:flex;justify-content:space-between;gap:8px;margin-top:7px;padding:6px 8px;border:1px solid rgba(255,232,166,.24);border-radius:3px;color:#f7ead2;background:rgba(31,21,15,.72);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:clamp(.66rem,.95vw,.8rem)}.exhibit__label span:last-child{color:var(--gold);font-variant-numeric:tabular-nums}.exhibit.is-active{filter:saturate(1.12) brightness(1.05);box-shadow:0 32px 68px rgba(29,22,16,.44),inset 0 0 0 2px rgba(255,232,166,.38),inset 0 0 0 9px rgba(35,23,16,.34),0 0 0 10px rgba(185,58,47,.2),0 0 90px rgba(241,201,122,.24)}.exhibit:not(.is-active){opacity:.74}
.placard{position:fixed;z-index:20;left:clamp(16px,4vw,56px);bottom:clamp(102px,13vh,150px);width:min(420px,calc(100vw - 32px));padding:18px 20px;color:var(--ink);background:rgba(252,246,232,.86);border:1px solid rgba(255,255,255,.48);border-radius:6px;box-shadow:0 18px 48px rgba(0,0,0,.22);backdrop-filter:blur(18px)}.placard p:first-child,.collection-dock__heading p{margin:0 0 7px;color:var(--seal);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:.74rem;font-weight:700;text-transform:uppercase}.placard__title{margin:0;color:#231b15;font-size:clamp(.78rem,1.6vw,1.24rem);line-height:1.1;white-space:nowrap}.placard__meta{margin:8px 0 0;color:#766859;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:.9rem;overflow-wrap:anywhere}.walk-controls{position:fixed;z-index:35;left:50%;bottom:22px;display:flex;align-items:center;gap:12px;transform:translateX(-50%);padding:10px;border:1px solid rgba(255,248,234,.18);border-radius:999px;background:rgba(17,13,10,.56);backdrop-filter:blur(16px)}.walk-button{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,248,234,.24);border-radius:50%;color:#fff8ea;background:rgba(255,248,234,.08);cursor:pointer;font-size:1.7rem}.walk-button--primary{width:58px;height:58px;color:#2b2119;border-color:var(--gold);background:var(--gold);font-size:1.45rem}
.collection-dock{position:relative;z-index:40;min-height:50svh;padding:54px clamp(16px,5vw,64px) 90px;background:linear-gradient(180deg,rgba(21,17,14,0),#f2eadc 14%),#f2eadc;color:#1f1914}.collection-dock__heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.collection-dock__heading h2{margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1}.fee-editor,.gallery-tools form{display:grid;align-items:end;gap:14px;padding:16px;border:1px solid rgba(71,51,34,.18);border-radius:6px;background:rgba(255,250,240,.82);box-shadow:0 16px 34px rgba(46,34,24,.1)}.fee-editor{grid-template-columns:minmax(140px,1fr) minmax(140px,.8fr) minmax(120px,.8fr) auto auto;margin-bottom:24px}.gallery-tools{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:26px}.gallery-tools form{grid-template-columns:minmax(130px,1fr) minmax(150px,1fr) auto}.artwork-adder{grid-column:1/-1}.fee-editor h3,.gallery-tools h3{margin:0;font-size:clamp(1.1rem,2vw,1.6rem)}label{display:grid;gap:7px;color:#574637;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:.82rem}select,input{width:100%;min-height:42px;border:1px solid rgba(63,45,30,.22);border-radius:4px;padding:0 12px;color:#211a15;background:#fffdf7;font:inherit}input[type=file]{padding:8px 10px}form button{min-height:42px;padding:0 15px;border:1px solid rgba(63,45,30,.22);border-radius:4px;color:#fff8ea;background:var(--indigo);cursor:pointer;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;white-space:nowrap}.fee-editor button[type=submit],.artwork-deleter button{background:var(--seal)}.fee-clear{color:#2d2118;background:#eadfcd}.fee-status,.move-status,.rename-status,.delete-status,.add-status{grid-column:2/-1;min-height:1.3em;margin:-4px 0 0;color:#735d4b;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:.84rem}.collection-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:16px}.thumb{min-width:0;padding:8px;border:1px solid rgba(99,69,42,.26);border-radius:6px;background:linear-gradient(135deg,#442f21,#7a573b 52%,#3b281d);color:#f7ead2;box-shadow:0 14px 30px rgba(46,34,24,.15);overflow:hidden;cursor:pointer;text-align:left}.thumb__frame{display:block;padding:9px;border:1px solid rgba(255,225,150,.42);background:#f3ead7}.thumb img{width:100%;aspect-ratio:4/3;object-fit:contain;background:rgba(255,252,244,.8)}.thumb>span{display:block;padding:10px 4px 2px;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:.84rem}.thumb.is-active{outline:3px solid var(--seal);outline-offset:2px}.empty-gallery{grid-column:1/-1;margin:0;padding:18px;border:1px dashed rgba(99,69,42,.32);border-radius:6px;color:#735d4b;background:rgba(255,250,240,.7);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}
.lightbox{width:min(1120px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;border:0;border-radius:6px;background:#151312;color:#fffaf1;box-shadow:0 28px 90px rgba(0,0,0,.5)}.lightbox::backdrop{background:rgba(14,12,11,.78);backdrop-filter:blur(5px)}.lightbox figure{margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;max-height:calc(100vh - 28px);padding:18px 18px 0;background:linear-gradient(90deg,#2e2018,#6b4b32 50%,#2e2018)}.lightbox__image{width:100%;max-height:calc(100vh - 154px);object-fit:contain;padding:clamp(12px,2vw,24px);border:10px solid #5f422d;background:#f3ead7}.lightbox figcaption{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding:16px 20px;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}.lightbox__fee{justify-self:center;padding:7px 12px;border:1px solid rgba(241,201,122,.54);border-radius:999px;color:#2b2119;background:var(--gold);font-weight:700}.lightbox__fee[hidden]{display:none}.lightbox__meta{text-align:right;color:rgba(255,250,241,.76);overflow-wrap:anywhere}.lightbox__close,.lightbox__nav{position:absolute;z-index:4;display:grid;place-items:center;border:1px solid rgba(255,250,241,.25);color:#fffaf1;background:rgba(21,19,18,.72);cursor:pointer}.lightbox__close{top:12px;right:12px;width:42px;height:42px;border-radius:50%;font-size:1.6rem}.lightbox__nav{top:50%;width:44px;height:68px;transform:translateY(-50%);border-radius:999px;font-size:2.4rem}.lightbox__nav--prev{left:12px}.lightbox__nav--next{right:12px}
@media(max-width:900px){.museum-hud{grid-template-columns:1fr auto;gap:10px;padding:14px}.hud-center{order:3;grid-column:1/-1;justify-self:start}.walk-room{min-height:620px;perspective:760px}.exhibit{width:clamp(132px,34vw,192px)}.placard{bottom:172px}.fee-editor,.gallery-tools,.gallery-tools form{grid-template-columns:1fr 1fr}.fee-editor h3,.fee-status,.gallery-tools h3,.move-status,.rename-status,.delete-status,.add-status,.artwork-adder{grid-column:1/-1}}@media(max-width:560px){.museum-hud{grid-template-columns:1fr}.hud-actions{order:2;flex-wrap:nowrap}.hud-link{margin-left:0}.walk-room{min-height:650px}.exhibit{width:clamp(112px,31vw,154px)}.exhibit__label{display:none}.placard{left:12px;right:12px;bottom:166px;width:auto}.fee-editor,.gallery-tools,.gallery-tools form{grid-template-columns:1fr}.fee-status,.move-status,.rename-status,.delete-status,.add-status{grid-column:auto}.collection-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lightbox figcaption{grid-template-columns:1fr}.lightbox__meta{text-align:left}.lightbox__fee{justify-self:start}}

/* Equal management panels */
.gallery-tools {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.gallery-tools form,
.gallery-tools .artwork-adder {
  grid-column: auto;
}

.gallery-tools form {
  grid-template-columns: 1fr;
  grid-auto-rows: auto;
  align-content: start;
  height: 100%;
  min-height: 260px;
}

.gallery-tools h3 {
  min-height: 2.4em;
  display: flex;
  align-items: flex-end;
}

.gallery-tools form button {
  justify-self: start;
  width: min(160px, 100%);
}

.gallery-tools .move-status,
.gallery-tools .rename-status,
.gallery-tools .delete-status,
.gallery-tools .add-status {
  grid-column: 1 / -1;
}

@media (max-width: 900px) {
  .gallery-tools {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery-tools form,
  .gallery-tools .artwork-adder,
  .gallery-tools h3,
  .gallery-tools .move-status,
  .gallery-tools .rename-status,
  .gallery-tools .delete-status,
  .gallery-tools .add-status {
    grid-column: auto;
  }

  .gallery-tools form {
    grid-template-columns: 1fr;
    min-height: 260px;
  }
}

@media (max-width: 560px) {
  .gallery-tools {
    grid-template-columns: 1fr;
  }

  .gallery-tools form {
    min-height: auto;
  }
}

/* Make all four management panels the same height */
.gallery-tools form {
  min-height: 500px;
}

@media (max-width: 560px) {
  .gallery-tools form {
    min-height: auto;
  }
}

/* Compact management panels by about 30% */
.gallery-tools {
  gap: 11px;
}

.gallery-tools form {
  min-height: 350px;
  gap: 10px;
  padding: 11px;
}

.gallery-tools h3 {
  min-height: 1.7em;
  font-size: clamp(0.95rem, 1.4vw, 1.2rem);
}

.gallery-tools label {
  gap: 5px;
  font-size: 0.76rem;
}

.gallery-tools select,
.gallery-tools input {
  min-height: 34px;
  padding: 0 9px;
  font-size: 0.8rem;
}

.gallery-tools input[type="file"] {
  padding: 6px 8px;
}

.gallery-tools form button {
  min-height: 34px;
  width: min(112px, 100%);
  padding: 0 11px;
  font-size: 0.8rem;
}

.gallery-tools .move-status,
.gallery-tools .rename-status,
.gallery-tools .delete-status,
.gallery-tools .add-status {
  font-size: 0.76rem;
}

@media (max-width: 560px) {
  .gallery-tools form {
    min-height: auto;
  }
}

/* Keep compact management panels equal after shrinking */
.gallery-tools form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  height: 350px;
  min-height: 350px;
  align-content: start;
}

.gallery-tools h3,
.gallery-tools .move-status,
.gallery-tools .rename-status,
.gallery-tools .delete-status,
.gallery-tools .add-status {
  grid-column: 1 / -1;
}

.gallery-tools form button {
  grid-column: 1 / -1;
}

@media (max-width: 560px) {
  .gallery-tools form {
    grid-template-columns: 1fr;
    height: auto;
    min-height: auto;
  }
}

/* Reduce extra bottom space in compact management panels */
.gallery-tools form {
  height: 250px;
  min-height: 250px;
  gap: 7px;
  padding: 9px;
}

.gallery-tools h3 {
  min-height: 1.25em;
  margin-bottom: 0;
}

.gallery-tools label {
  gap: 3px;
}

.gallery-tools select,
.gallery-tools input {
  min-height: 30px;
}

.gallery-tools input[type="file"] {
  padding: 4px 6px;
}

.gallery-tools form button {
  min-height: 30px;
}

.gallery-tools .move-status,
.gallery-tools .rename-status,
.gallery-tools .delete-status,
.gallery-tools .add-status {
  min-height: 1em;
  margin-top: -2px;
}

@media (max-width: 560px) {
  .gallery-tools form {
    height: auto;
    min-height: auto;
  }
}

/* Keep compact management controls close to the lower edge */
.gallery-tools form {
  align-content: space-between;
}

