*{box-sizing:border-box}html,body,#root{height:100%}body{overscroll-behavior:none;color:#f2efe8;background:#111;margin:0;font-family:Arial,Helvetica,sans-serif}.shell{min-height:100%}.shell--full{height:100%;overflow:hidden}.nav{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#111114b3;border:1px solid #ffffff24;border-radius:999px;gap:4px;padding:4px;display:flex;position:fixed;top:14px;left:16px}.nav-link{color:#b9b9c4;letter-spacing:.06em;border-radius:999px;padding:5px 13px;font-size:12px;text-decoration:none}.nav-link:hover{color:#fff}.nav-link--active{color:#fff;background:#6c4dff}.lab{grid-template-columns:minmax(0,1fr) 320px;height:100%;display:grid}.lab--rail{grid-template-columns:minmax(0,1fr) 40px}.stage{flex-direction:column;min-width:0;display:flex;overflow:hidden}.hero{background:#f2efe8;width:100%;position:relative;overflow:hidden}.hero--fill{flex:1;min-height:0}.hero--banner{height:min(62vh,520px);min-height:320px}.hero--off{background:#16121f}.hero-canvas{width:100%;height:100%;transition:opacity .12s;display:block;position:absolute;inset:0}.hero-cover{pointer-events:none;width:100%;height:100%;transition:opacity .12s;position:absolute;inset:0}.panel{background:#131316;border-left:1px solid #2f2f36;min-width:0;padding:12px;font-size:12px;overflow-y:auto}.panel--rail{place-items:start center;padding:8px 0;display:grid;overflow:hidden}.panel-rail-button{color:#9a9aa6;font:inherit;letter-spacing:.14em;text-transform:uppercase;writing-mode:vertical-rl;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:10px 6px}.panel-rail-button:hover{color:#e2e2e8;background:#ffffff0f}.panel-head{z-index:1;background:#131316;justify-content:space-between;align-items:center;margin:-12px -12px 10px;padding:12px;display:flex;position:sticky;top:-12px}.panel-head h2{letter-spacing:.12em;text-transform:uppercase;color:#d8d8de;margin:0;font-size:12px;font-weight:700}.panel-actions{gap:6px;display:flex}.panel-actions button{color:#d8d8de;font:inherit;cursor:pointer;background:#1d1d22;border:1px solid #3a3a42;border-radius:6px;padding:4px 9px}.panel-actions button:hover{background:#26262d}.panel-group{margin-bottom:12px}.panel-group h3{letter-spacing:.14em;text-transform:uppercase;color:#7b7b87;margin:0 0 6px;font-size:10px;font-weight:700}.layer{border-radius:6px;grid-template-columns:24px 1fr 92px 34px;align-items:center;gap:8px;padding:4px 2px;display:grid}.layer:hover{background:#ffffff0a}.layer--child .layer-name{border-left:1px solid #3a3a42;padding-left:10px}.layer--off .layer-name,.layer--off .layer-value{color:#5c5c66}.layer-eye{color:#cfcfd8;cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;width:24px;height:24px;padding:0;display:grid}.layer-eye:hover{background:#ffffff14}.layer-eye[aria-pressed=false]{color:#5c5c66}.layer-name{color:#e2e2e8;cursor:pointer;flex-direction:column;min-width:0;line-height:1.25;display:flex}.layer-name em{color:#7b7b87;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-style:normal;overflow:hidden}.layer-slider{accent-color:#7c5cff;cursor:pointer;width:100%}.layer-slider:disabled{cursor:default;opacity:.35}.layer-value{color:#9a9aa6;font-variant-numeric:tabular-nums;text-align:right;font-size:11px}.panel-field{color:#9a9aa6;align-items:center;gap:8px;padding:6px 2px 2px;display:flex}.panel-field input{color:#e2e2e8;min-width:0;font:inherit;letter-spacing:.08em;background:#1d1d22;border:1px solid #3a3a42;border-radius:6px;flex:1;padding:5px 8px}.status{text-align:center;border-top:1px solid #262626;flex:none;padding:10px 16px;font-size:13px}@media (width<=820px){.lab{grid-template-rows:minmax(0,1fr) minmax(0,45%);grid-template-columns:minmax(0,1fr)}.lab--rail{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.panel{border-top:1px solid #2f2f36;border-left:0}.panel--rail{place-items:center;padding:0}.panel-rail-button{writing-mode:horizontal-tb;width:100%;padding:10px}}.muted{color:#8a8a8a}.err{color:#ff7a7a}.hero-error{color:#ff9a9a;text-align:center;background:#1e1010e6;border:1px solid #4a2a2a;border-radius:8px;max-width:90%;margin:0;padding:8px 14px;font-size:12px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.gallery{background:#0b0b0e;height:100%;position:relative;overflow:hidden}.ambient,.plates,.veil{width:100%;height:100%;display:block;position:absolute;inset:0}.ambient{z-index:0}.plates{z-index:1;pointer-events:none}.veil{z-index:4;pointer-events:none}.viewport{z-index:2;cursor:grab;touch-action:none;position:absolute;inset:0;overflow:hidden}.viewport--dragging{cursor:grabbing}.plane{-webkit-user-select:none;user-select:none;transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.piece{margin:0;position:absolute}.piece-plate{cursor:pointer;background:0 0;border:1px solid #ffffff17;border-radius:2px;width:100%;height:100%;padding:0;transition:border-color .32s cubic-bezier(.22,.61,.36,1),box-shadow .32s cubic-bezier(.22,.61,.36,1);display:block;position:relative;box-shadow:0 30px 80px #0000008c}.piece-plate:hover{border-color:#ffffff42;box-shadow:0 36px 96px #0000009e}.piece--active .piece-plate{border-color:#9c86ff8c}.piece-caption{color:#e6e6ee;grid-template-columns:1fr auto;align-items:baseline;column-gap:16px;padding-top:14px;display:grid}.piece-title{letter-spacing:-.01em;font-family:Georgia,Times New Roman,serif;font-size:26px}.piece-year{color:#8a8a99;font-variant-numeric:tabular-nums;font-size:13px}.piece-summary,.piece-tags{grid-column:1/-1}.piece-summary{color:#a3a3b2;max-width:46ch;margin-top:8px;font-size:14px;line-height:1.55}.piece-tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.piece-tags span{color:#9a9aab;letter-spacing:.04em;border:1px solid #ffffff24;border-radius:999px;padding:3px 9px;font-size:11px}.piece-caption>*{opacity:0;transition:opacity .42s cubic-bezier(.22,.61,.36,1),transform .42s cubic-bezier(.22,.61,.36,1);transform:translateY(6px)}.piece-caption[data-detail="1"] .piece-title,.piece-caption[data-detail="1"] .piece-year,.piece-caption[data-detail="2"] .piece-title,.piece-caption[data-detail="2"] .piece-year,.piece-caption[data-detail="2"] .piece-summary,.piece-caption[data-detail="2"] .piece-tags{opacity:1;transform:none}.detail{z-index:5;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0b0b0ed1;border-left:1px solid #ffffff14;width:min(38vw,440px);padding:84px 40px 40px;animation:.42s cubic-bezier(.22,.61,.36,1) detail-in;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}@keyframes detail-in{0%{opacity:0;transform:translate(18px)}}.detail-head{justify-content:space-between;align-items:center;display:flex}.detail-year{color:#8a8a99;letter-spacing:.14em;margin:0;font-size:12px}.detail-close{color:#b9b9c8;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff29;border-radius:999px;padding:5px 12px;font-size:12px;transition:background .22s,color .22s}.detail-close:hover{color:#fff;background:#ffffff14}.detail-title{letter-spacing:-.02em;margin:22px 0 0;font-family:Georgia,Times New Roman,serif;font-size:38px;font-weight:400;line-height:1.1}.detail-summary{color:#d2d2de;margin:18px 0 0;font-size:16px;line-height:1.6}.detail-text{color:#9d9dae;margin:16px 0 0;font-size:14px;line-height:1.7}.detail-tags{flex-wrap:wrap;gap:6px;margin:26px 0 0;padding:0;list-style:none;display:flex}.detail-tags li{color:#9a9aab;border:1px solid #ffffff24;border-radius:999px;padding:4px 10px;font-size:11px}.detail-link{color:#b3a0ff;border-bottom:1px solid #0000;margin-top:28px;font-size:14px;text-decoration:none;transition:border-color .22s;display:inline-block}.detail-link:hover{border-bottom-color:currentColor}.signature{z-index:2;pointer-events:none;margin:0;position:absolute;top:20px;left:20px}.signature-name{letter-spacing:.02em;color:#ededf4;margin:0;font-family:Georgia,Times New Roman,serif;font-size:20px}.signature-role{letter-spacing:.13em;text-transform:uppercase;color:#7f7f8f;margin:4px 0 0;font-size:11px}.hud{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0e0e12b8;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:18px;right:18px}.hud button{color:#c6c6d4;min-width:30px;height:28px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 10px;font-size:14px;transition:background .2s,color .2s}.hud button:hover{color:#fff;background:#ffffff17}.hud-wide{letter-spacing:.04em;font-size:12px!important}.hud-scale{color:#8a8a99;font-variant-numeric:tabular-nums;text-align:center;min-width:46px;font-size:11px}.hint{z-index:2;color:#6f6f80;letter-spacing:.1em;pointer-events:none;margin:0;font-size:11px;transition:opacity .42s;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.hint[data-hidden]{opacity:0}@media (width<=820px){.detail{width:100%;max-height:62%;padding:20px 20px calc(24px + env(safe-area-inset-bottom));border-top:1px solid #ffffff14;border-left:0;top:auto}@keyframes detail-in{0%{opacity:0;transform:translateY(18px)}}.detail-title{font-size:28px}.detail-summary{font-size:15px}.hud{top:16px;bottom:auto;right:12px}.hud button{height:32px}.signature{top:16px;left:14px}.signature-name{font-size:16px}.signature-role{letter-spacing:.1em;font-size:10px}.hint{display:none}.detail-close{padding:8px 14px}.detail-lab .layer{grid-template-columns:30px 1fr 84px 36px;padding:7px 2px}.layer-eye{width:30px;height:30px}.layer-slider{height:24px}}@media (width<=480px){.piece-summary,.signature-role{display:none}}.detail-lab{border-top:1px solid #ffffff14;margin-top:34px;padding-top:22px}.detail-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.detail-section-head h3{letter-spacing:.16em;text-transform:uppercase;color:#7b7b87;margin:0;font-size:10px;font-weight:700}.detail-pill{color:#b9b9c8;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff29;border-radius:999px;padding:4px 11px;font-size:11px;transition:background .2s,border-color .2s,color .2s}.detail-pill:hover{color:#fff;background:#ffffff14}.detail-pill[aria-pressed=true]{color:#cdbcff;background:#6c4dff29;border-color:#9c86ff8c}.detail-lab .layer{grid-template-columns:24px 1fr 74px 34px}.gl-host{display:contents}.piece-mask{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.layer-text{color:#e8e8f0;min-width:0;font:inherit;letter-spacing:.12em;text-transform:uppercase;background:#ffffff08;border:1px solid #ffffff29;border-radius:999px;grid-column:3/-1;padding:5px 11px;font-size:11px;font-weight:700;transition:border-color .2s,background .2s}.layer-text:hover:not(:disabled){background:#ffffff0f}.layer-text:focus{background:#6c4dff1f;border-color:#9c86ff8c;outline:none}.layer-text:disabled{opacity:.35;cursor:default}
