:root{--ink:#08121b;--ivory:#f8efdf;--muted:#c4c2be;--gold:#e5ba79;--coral:#d85576;--teal:#4d9c96;--line:rgba(243,224,200,.19)}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{height:100%;margin:0;background:#08121b;color:var(--ivory);font-family:'Trebuchet MS',Arial,Helvetica,sans-serif}button,input,a{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #ffe2ad;outline-offset:4px}#app{position:relative;width:100%;min-height:820px;height:100svh;overflow:hidden}#exhibit{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}#exhibit:active{cursor:grabbing}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(3,9,15,.92) 0%,rgba(3,9,15,.39) 22%,transparent 43%,transparent 70%,rgba(3,9,15,.67) 100%),linear-gradient(0deg,rgba(3,9,15,.97),transparent 28%,transparent 77%,rgba(4,11,18,.42));opacity:.95}.grain{position:absolute;inset:0;opacity:.07;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.topbar{position:absolute;z-index:5;top:0;left:0;right:0;padding:26px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(248,239,223,.09)}.brand{display:flex;gap:12px;align-items:center;color:#fff5e7;text-decoration:none;font-size:10px;line-height:1.35;letter-spacing:.2em;font-weight:500}.brand b{font-size:13px;letter-spacing:.25em}.brandmark{width:40px;height:40px;border:1px solid rgba(240,220,187,.65);display:grid;place-items:center;color:#ebbb73;font-size:27px;line-height:1;border-radius:50%}.issue{font-size:10px;letter-spacing:.22em;color:#d5c8b7}.issue .thin{color:#887d76}.live-dot,.status-circle{display:inline-block;width:6px;height:6px;background:#eab87b;border-radius:50%;box-shadow:0 0 10px #eab87b;margin-right:10px}.lang-button{border:1px solid var(--line);background:rgba(7,12,19,.55);color:#f6eadd;padding:11px 13px;font-size:11px;letter-spacing:.1em}.lang-button span{margin-left:9px;color:#d1a06e}.intro{position:absolute;z-index:2;top:24%;left:5%;width:min(38%,480px);pointer-events:none}.eyebrow{font-size:10px;letter-spacing:.23em;color:#e1ac83;display:flex;align-items:center;gap:11px}.hairline{width:28px;height:1px;background:#cb8377}.serial{font:11px/1.3 monospace;letter-spacing:.15em;color:#9d988f;margin:29px 0 14px}.title-wrap h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(54px,6.2vw,106px);letter-spacing:-.055em;font-weight:400;line-height:.92;margin:0;text-shadow:0 8px 70px rgba(0,0,0,.4)}.title-wrap h1 span{display:block;font-weight:400}.title-wrap h1 strong{font-weight:400;font-style:italic;color:#efc18a}.star{font-size:.28em;vertical-align:top;margin-left:8px;color:#c65172}.tagline{font-family:Georgia,'Times New Roman',serif;font-size:clamp(16px,1.5vw,23px);line-height:1.5;color:#d4c9b8;margin:34px 0}.title-footer{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);max-width:375px;padding-top:13px;font-size:9px;letter-spacing:.13em;color:#9f9c98}.floating-number{position:absolute;top:19%;left:52%;font:12px monospace;letter-spacing:.15em;color:rgba(244,220,196,.75);pointer-events:none}.floating-number span{opacity:.35}.info-panel{position:absolute;top:21%;right:3.2%;width:268px;z-index:4;backdrop-filter:blur(17px);background:linear-gradient(135deg,rgba(17,29,40,.85),rgba(15,26,35,.67));border:1px solid rgba(245,231,205,.23);box-shadow:0 28px 70px rgba(0,0,0,.15)}.panel-top{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid var(--line);font:10px monospace;letter-spacing:.13em;color:#dbb99c}.panel-toggle{border:0;background:none;color:#f9e0c9;font-size:20px;line-height:16px}.info-panel #panel-content{padding:20px 22px 21px}.info-panel.collapsed #panel-content{display:none}.panel-kicker{font:9px/1.7 monospace;letter-spacing:.12em;color:#b5a18e}.info-panel h2{font:italic 35px/1 Georgia,serif;letter-spacing:-.035em;margin:15px 0 19px;color:#f4d4a8}.panel-copy{font:12px/1.75 Arial,sans-serif;color:#cbc8c5}.details{margin:22px 0 19px}.details>div{border-top:1px solid var(--line);padding:10px 0}.details dt{font-size:9px;letter-spacing:.14em;color:#c0a284}.details dd{margin:5px 0 0;font:11px/1.4 Arial,sans-serif;color:#f0e0cf}.text-link{background:none;border:0;padding:0;color:#efc58e;letter-spacing:.12em;font-size:10px;text-align:left}.text-link span{font-size:15px}.hotspot{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;transform:translate(-50%,-50%);background:transparent;border:0;color:#f4e4c8;opacity:0;transition:opacity .35s;pointer-events:none}.hotspot.visible{opacity:1;pointer-events:auto}.hotspot-ring{width:30px;height:30px;border:1px solid rgba(244,222,184,.7);border-radius:50%;display:grid;place-items:center;font-size:9px;background:rgba(10,23,30,.6);box-shadow:0 0 0 6px rgba(213,175,128,.07);transition:transform .2s}.hotspot:hover .hotspot-ring{transform:scale(1.18);background:#ae6266}.hotspot-label{font-size:9px;letter-spacing:.1em;text-shadow:0 2px 5px #03101b}.annotation{position:absolute;z-index:6;top:40%;left:48%;width:225px;border:1px solid rgba(236,204,170,.55);background:rgba(11,24,31,.94);backdrop-filter:blur(14px);padding:16px 18px;box-shadow:0 22px 70px rgba(0,0,0,.4)}.annotation[hidden],.modal[hidden],.fallback[hidden]{display:none}.annotation-head{display:flex;justify-content:space-between;align-items:center;font:9px monospace;letter-spacing:.1em;color:#d4b48c}.annotation-head button{color:#f2ddbf;border:0;background:none;font-size:19px}.annotation h3{font:26px Georgia,serif;margin:10px 0}.annotation p{font:12px/1.7 Arial,sans-serif;color:#d0c8bd;margin:0}.interaction-hint{position:absolute;bottom:239px;left:50%;transform:translateX(-50%);z-index:2;font-size:9px;letter-spacing:.2em;color:#c3b8aa;white-space:nowrap;pointer-events:none}.interaction-hint span{padding:0 8px;color:#b36f74}.control-panel{position:absolute;z-index:5;left:50%;bottom:44px;transform:translateX(-50%);width:min(980px,91%);background:rgba(10,21,30,.89);border:1px solid rgba(223,189,147,.3);backdrop-filter:blur(28px);box-shadow:0 22px 65px rgba(0,0,0,.38)}.control-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 25px 14px}.control-small{color:#d5a77c;font:9px monospace;letter-spacing:.19em}.control-head h2{font:19px Georgia,serif;margin:4px 0 0;font-style:italic;font-weight:400}.control-status{font:10px monospace;letter-spacing:.14em;color:#bcaaa0}.control-content{display:grid;grid-template-columns:1.45fr .95fr 1fr;gap:21px;padding:18px 25px 17px;align-items:center}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.step{border:1px solid rgba(231,209,181,.18);background:rgba(255,255,255,.025);color:#a9a8a5;padding:11px 4px;text-align:center;transition:background .2s,border .2s,color .2s}.step span{display:block;color:#a08771;font:10px monospace;margin-bottom:5px}.step b{font-size:11px;font-weight:400;white-space:nowrap}.step.active{background:linear-gradient(135deg,#a95c65,#7b4a60);color:#ffefdb;border-color:#d3a38d}.step.active span{color:#fbd1b0}.wind-top,.wind-scale{display:flex;justify-content:space-between;align-items:center}.wind-top{font:9px monospace;letter-spacing:.13em;color:#d0bb9f}.wind-top output{color:#f0c995}input[type=range]{margin:17px 0 7px;appearance:none;width:100%;height:2px;background:linear-gradient(90deg,#cf8179 35%,#45505a 35%);cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:13px;height:13px;border-radius:50%;background:#f3ca8a;box-shadow:0 0 0 4px #f3ca8a28}input[type=range]::-moz-range-thumb{width:13px;height:13px;border:0;border-radius:50%;background:#f3ca8a}.wind-scale{font:8px monospace;letter-spacing:.12em;color:#868c8b}.tool-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tool-actions button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);color:#e6d4bd;background:rgba(237,211,174,.05);font-size:10px;text-align:left;padding:10px 9px;white-space:nowrap}.tool-actions button:hover,.tool-actions button[aria-pressed=true]{background:rgba(214,137,130,.2);border-color:#d9a6a0}.tool-actions .reset{border-color:#cd9e76;color:#efbd93}.button-icon{width:17px;font-size:15px;line-height:1;text-align:center;color:#eab986}.bottom-corner{position:absolute;bottom:15px;right:4%;font:9px monospace;letter-spacing:.12em;color:#848c91}.bottom-corner span{color:#c77c8b}.modal{position:fixed;inset:0;z-index:20;background:rgba(1,7,12,.76);backdrop-filter:blur(13px);display:flex;align-items:center;justify-content:center;padding:22px}.modal-panel{position:relative;width:min(650px,100%);max-height:90vh;overflow-y:auto;border:1px solid #b28b78;background:linear-gradient(140deg,#182e35,#0e1823);padding:42px 45px;box-shadow:0 40px 140px #0009}.modal-eyebrow{font:10px monospace;letter-spacing:.17em;color:#d8ae84}.modal-panel h2{font:italic 45px Georgia,serif;color:#efc08e;margin:17px 0}.modal-panel p,.modal-panel li{font:14px/1.8 Arial,sans-serif;color:#e1d4c7}.modal-panel h3{font:22px Georgia,serif}.modal-panel a{color:#f4bf9d}.modal-close{position:absolute;right:20px;top:14px;background:none;color:#f5d7b5;border:0;font-size:30px}.modal-en{border-top:1px solid var(--line);padding-top:16px}.fallback{position:absolute;z-index:30;top:35%;left:50%;transform:translateX(-50%);background:#172532;padding:26px;max-width:440px;border:1px solid #ac7f6b;font:14px/1.6 Arial,sans-serif}
@media(max-width:1150px){.info-panel{right:2%;width:230px;top:18%}.intro{left:4%;top:20%;width:34%}.title-wrap h1{font-size:clamp(53px,6vw,82px)}.control-panel{width:95%}.control-content{gap:13px;padding:17px}.floating-number{display:none}}
@media(max-width:850px){#app{min-height:980px;height:100svh}.topbar{padding:17px 20px}.brandmark{width:34px;height:34px;font-size:22px}.issue{display:none}.intro{top:94px;left:24px;width:70%;pointer-events:none}.serial{margin:16px 0 8px}.title-wrap h1{font-size:clamp(47px,9vw,77px)}.tagline{font-size:16px;margin:15px 0}.title-footer{display:none}.info-panel{top:268px;right:18px;width:210px}.info-panel #panel-content{padding:14px}.info-panel h2{font-size:25px;margin:9px 0}.panel-copy{font-size:10px}.details{margin:11px 0}.details>div{padding:7px 0}.control-panel{bottom:32px;width:calc(100% - 32px)}.control-content{grid-template-columns:1fr 1fr;gap:14px}.steps{grid-column:1 / -1}.interaction-hint{bottom:310px;font-size:8px}.bottom-corner{bottom:9px;font-size:7px}.annotation{left:25%;top:42%}}
@media(max-width:520px){#app{min-height:800px;height:100svh}.topbar{padding:12px 17px}.brand{font-size:9px}.brand b{font-size:10px}.intro{top:77px;left:19px;width:90%}.eyebrow{font-size:8px}.serial{font-size:9px;margin:13px 0}.title-wrap h1{font-size:clamp(47px,13vw,70px)}.tagline{font-size:14px;line-height:1.3;margin-top:11px}.info-panel{top:250px;right:13px;width:180px;background:rgba(10,23,31,.82)}.info-panel:not(.collapsed) .panel-copy{display:none}.info-panel #panel-content{padding:10px 12px}.panel-kicker{font-size:7px}.info-panel h2{font-size:23px}.details dt{font-size:7px}.details dd{font-size:9px}.text-link{font-size:8px}.hotspot-label{display:none}.hotspot-ring{width:28px;height:28px}.interaction-hint{bottom:307px;font-size:7px;letter-spacing:.08em}.control-panel{bottom:26px;width:calc(100% - 18px)}.control-head{padding:12px}.control-head h2{font-size:16px}.control-status{font-size:8px}.control-content{padding:11px;gap:13px;grid-template-columns:1fr}.steps{grid-column:auto}.step{padding:9px 0}.step span{font-size:8px}.step b{font-size:10px}.wind-control{margin:0 8px}.wind-top{font-size:8px}.tool-actions{grid-template-columns:repeat(4,1fr)}.tool-actions button{display:flex;flex-direction:column;align-items:center;font-size:8px;gap:4px;white-space:normal;text-align:center;min-height:52px;padding:6px}.tool-actions .button-icon{font-size:16px}.annotation{top:38%;left:8%;width:215px}.modal-panel{padding:28px 22px}.modal-panel h2{font-size:30px}.modal-panel p,.modal-panel li{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
