:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#efe7d2;background:#101916;font-synthesis:none;--gold:#dfbb79;--ink:#111914;--cream:#f0e6cd;--dim:#aeb2a2;--line:rgba(225,213,182,.20);--panel:rgba(14,23,19,.89)}
*{box-sizing:border-box}html,body,#museum{width:100%;height:100%;min-height:600px;margin:0}body{overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,select:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.45}#museum{position:relative;isolation:isolate;overflow:hidden;background:#1a2720}#stage{position:absolute;inset:0;cursor:grab;touch-action:none}#stage:active{cursor:grabbing}#stage canvas{width:100%;height:100%;display:block}.atmosphere{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(9,18,14,.70) 0%,rgba(9,18,14,.35) 20%,transparent 45%,rgba(7,14,11,.05) 66%,rgba(7,14,11,.53) 100%),linear-gradient(0deg,rgba(4,12,9,.66) 0%,transparent 23%,transparent 75%,rgba(4,12,9,.23) 100%);z-index:1}
.header{position:absolute;z-index:9;top:0;left:0;right:0;padding:24px 34px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.header>*{pointer-events:auto}.brand{text-decoration:none;color:#f5ebd4;display:flex;align-items:center;gap:13px}.brand-symbol{width:39px;height:39px;border:1px solid #bf9a59;display:flex;align-items:center;justify-content:center;gap:4px;transform:rotate(45deg);background:rgba(20,31,25,.72)}.brand-symbol i{height:22px;width:3px;background:#d9b176;border-radius:2px}.brand-symbol i:nth-child(2){height:29px}.brand-symbol i:nth-child(3){height:17px}.brand-copy{display:flex;flex-direction:column;gap:4px;margin-left:5px}.brand-copy strong{font-size:12px;letter-spacing:2.1px;font-weight:650}.brand-copy small{font-size:9px;letter-spacing:1.8px;color:#b5bbac}.brand-copy small b{color:var(--gold)}.header-tools{display:flex;gap:11px;align-items:center}.era-tag{font-size:10px;letter-spacing:1.8px;color:var(--cream);border:1px solid var(--line);background:rgba(9,18,15,.53);padding:10px 14px}.era-tag em{font-style:normal;color:var(--gold);margin-left:7px}.icon-btn{width:38px;height:38px;border:1px solid var(--line);background:rgba(9,18,15,.45);color:var(--cream);font:23px Georgia,serif;display:flex;align-items:center;justify-content:center}.icon-btn svg{width:19px;height:19px}
.hero{position:absolute;z-index:3;left:5.9%;top:20.3%;max-width:480px;pointer-events:none}.chapter{font-size:10px;letter-spacing:3.3px;font-weight:600;color:var(--gold)}.chapter-rule{display:inline-block;width:33px;height:1px;background:var(--gold);vertical-align:middle;margin-right:12px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,5.05vw,85px);line-height:.94;letter-spacing:-3px;font-weight:400;margin:23px 0 9px;text-shadow:0 2px 17px #08120f4f}.hero h1 i{font-style:italic;color:#e5bf7e;font-weight:400}.h1-dot{color:#bb6448}.ukr-title{font-family:Georgia,serif;font-style:italic;font-size:22px;letter-spacing:.5px;color:#c7bb9c;margin:17px 0 22px}.intro{font-size:13px;line-height:1.9;color:#d0d3c5;letter-spacing:.3px}.hero-meta{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:1.5px;font-weight:700;color:#c9c0a7;margin-top:31px}.hero-dash{color:#87765b}.dot-live{height:6px;width:6px;background:#c9b278;border-radius:50%;box-shadow:0 0 8px #dfc287}
.scene-hint{position:absolute;z-index:3;left:50%;bottom:205px;transform:translateX(-50%);white-space:nowrap;font-size:9px;letter-spacing:1.3px;color:#e0dcc8;opacity:.8;display:flex;align-items:center;gap:12px;pointer-events:none}.scene-hint b{color:#887b64;margin:0 5px}.scene-hint em{font-style:normal;color:var(--gold);font-size:14px}.hint-icon{font-size:23px;color:var(--gold)}
.right-rail{position:absolute;z-index:5;right:33px;top:100px;width:292px;padding:23px 22px 18px;background:linear-gradient(125deg,rgba(13,23,19,.96),rgba(19,29,24,.88));border:1px solid var(--line);border-top:2px solid #ad874e;box-shadow:0 25px 55px #0a130f40;max-height:calc(100vh - 305px);overflow:auto;scrollbar-width:thin;transition:transform .25s ease,opacity .25s ease}.right-rail.collapsed{transform:translateX(calc(100% + 45px));opacity:0;pointer-events:none}.rail-header{display:flex;align-items:center;justify-content:space-between}.rail-num{color:#a9aa98;font-size:9px;letter-spacing:1.6px;font-weight:650}.rail-num b{margin-left:5px;color:var(--gold);font-weight:600}.close-btn{color:#d2cbb3;border:0;background:none;font-size:22px;line-height:1}.info-object-tag{display:flex;align-items:center;gap:8px;color:#bea36c;font-size:10px;letter-spacing:1.6px;margin:28px 0 12px;text-transform:uppercase}.line-glyph{display:inline-block;height:6px;width:6px;border:1px solid #e4ba75;transform:rotate(45deg)}.right-rail h2{font-family:Georgia,serif;font-size:28px;font-weight:400;line-height:1.13;margin:0;color:var(--cream)}.info-divider{height:1px;background:linear-gradient(90deg,#b18b55 0%,#b18b5544 28%,transparent 100%);margin:22px 0}.right-rail p{font-size:12px;color:#cacbbd;line-height:1.85;letter-spacing:.15px}.right-rail .info-note{border-left:2px solid #af8248;padding-left:11px;font-size:10px;line-height:1.7;color:#969d8e;margin-top:17px}.info-note strong{display:block;font-size:9px;color:#d1bc91;letter-spacing:1.7px;margin-bottom:5px}.rail-bottom{margin-top:23px;display:flex;align-items:center;justify-content:space-between}.rail-cta{color:#d8b57c;font-size:9px;letter-spacing:1.5px;background:none;border:0;padding:0;font-weight:700}.rail-cta span{font-size:16px;margin-left:5px}.rail-id{font-size:10px;color:#7a8a78;letter-spacing:1px}
.view-picker{position:absolute;z-index:5;left:34px;top:49%;transform:translateY(-20%);display:flex;flex-direction:column;gap:5px;width:144px}.picker-label{font-size:9px;font-weight:700;letter-spacing:2px;color:#b4b8a7;margin:0 0 13px 12px}.view-picker button{border:1px solid transparent;background:rgba(15,25,20,.47);color:#c8c7b6;display:flex;align-items:center;gap:10px;font-size:10px;text-align:left;padding:10px 11px;letter-spacing:.5px}.view-picker button:hover{background:rgba(33,45,36,.89)}.view-picker button.active{border-left:2px solid var(--gold);background:rgba(17,26,21,.83);color:#f4e7c9}.view-glyph{color:var(--gold);width:17px;font-size:18px}.view-picker-foot{font-size:9px;color:#918f7f;letter-spacing:1.5px;margin:12px 0 0 11px}.view-picker-foot span{font-size:15px;color:var(--gold)}
.markers{position:absolute;inset:0;z-index:4;pointer-events:none}.marker{position:absolute;transform:translate(-50%,-50%);width:29px;height:29px;border:1px solid rgba(235,204,146,.75);background:rgba(21,28,23,.82);border-radius:50%;color:var(--gold);font-size:17px;font-weight:400;display:flex;align-items:center;justify-content:center;pointer-events:auto;box-shadow:0 0 0 5px rgba(24,31,24,.27),0 0 15px rgba(221,189,112,.30);transition:transform .15s,background .15s}.marker:hover,.marker.selected{transform:translate(-50%,-50%) scale(1.22);background:#b18b55;color:#121f18}.marker::after{position:absolute;content:attr(data-label);font:9px/1.3 Inter,system-ui,sans-serif;white-space:nowrap;color:#f6ead0;background:rgba(13,23,18,.88);border:1px solid var(--line);padding:7px 9px;top:34px;left:50%;transform:translateX(-50%);opacity:0;pointer-events:none;transition:opacity .15s}.marker:hover::after{opacity:1}
.control-deck{position:absolute;z-index:8;bottom:17px;left:50%;transform:translateX(-50%);width:min(1330px,calc(100% - 66px));background:rgba(12,21,17,.95);border:1px solid rgba(206,186,145,.26);box-shadow:0 18px 70px #02060480;backdrop-filter:blur(16px)}.deck-top{height:56px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(200,190,162,.13)}.deck-label{display:flex;align-items:center;gap:13px}.deck-emblem{font-size:28px;color:var(--gold)}.deck-label>span:last-child{display:flex;flex-direction:column;gap:3px}.deck-label strong{font-size:11px;letter-spacing:1.9px;font-weight:750;color:#f0e5ce}.deck-label small{font-size:9px;letter-spacing:1.4px;color:#899387}.stats{display:flex;gap:33px}.stats>div{display:flex;align-items:flex-end;gap:11px}.stats small{font-size:9px;color:#919b8a;letter-spacing:1.45px}.stats strong{font-size:13px;font-weight:600;letter-spacing:1.3px;color:var(--gold)}.deck-actions{min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 20px}.action-cluster{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.action-cluster button{min-height:38px;font-size:10px;font-weight:700;letter-spacing:1.1px;padding:0 14px}.gold-btn{border:1px solid #d6ae6b;background:linear-gradient(110deg,#d7b477,#f0d09b);color:#1a231b}.gold-btn:hover{filter:brightness(1.1)}.line-btn{border:1px solid rgba(192,173,136,.31);background:#1b2b23;color:#efdfbf}.line-btn:hover,.line-btn[aria-pressed="true"]{border-color:var(--gold);background:#344031}.line-btn.compact{padding:0 10px;font:700 13px Georgia,serif}.line-btn.compact small{font:700 9px Inter,system-ui,sans-serif;margin-left:5px;color:#beac88}.action-icon{font-size:14px;margin-right:7px}.deck-group{display:flex;flex-direction:column;gap:7px;min-width:145px}.deck-group label{color:#a4ae9e;font-size:8px;font-weight:700;letter-spacing:1.4px}.deck-group select{font-size:11px;color:#e9e2ce;background:#223027;border:1px solid #69705a55;border-radius:0;padding:7px 27px 7px 10px;outline:0}.swatches{display:none}.slider-group{width:136px;min-width:105px}.slider-group label{display:flex;justify-content:space-between}.slider-group label strong{color:var(--gold);font-size:10px}.slider-group input{accent-color:#d9b879;width:100%;height:3px;margin:13px 0 4px}.deck-bottom{min-height:38px;border-top:1px solid rgba(200,190,162,.12);padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:8px}.secondary-actions{display:flex;align-items:center;flex-wrap:wrap;gap:2px}.secondary-actions button{border:0;background:none;padding:11px 12px;color:#b7c0af;font-weight:650;font-size:9px;letter-spacing:1.1px;white-space:nowrap}.secondary-actions button:hover,.secondary-actions button[aria-pressed="true"]{color:var(--gold)}.secondary-actions span{color:#cda864;font-size:16px;vertical-align:-1px;margin-right:4px}.deck-credit{font-size:8px;letter-spacing:1.3px;color:#849082;white-space:nowrap}.deck-credit i{color:#ac8f5e}
.toast{position:absolute;left:50%;bottom:216px;z-index:12;transform:translateX(-50%) translateY(8px);background:#1e2b22ec;border:1px solid #ac905f;color:#ecd6aa;padding:11px 19px;font-size:11px;letter-spacing:.7px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;white-space:nowrap}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.loading{position:absolute;z-index:50;inset:0;background:#0d1713;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;transition:opacity .9s ease,visibility .9s ease}.loading.done{opacity:0;visibility:hidden;pointer-events:none}.loading-mark{display:flex;gap:7px;align-items:center;height:49px}.loading-mark span{display:block;height:34px;width:4px;background:#d5b171;animation:weave 1.4s ease-in-out infinite}.loading-mark span:nth-child(2){height:45px;animation-delay:.16s}.loading-mark span:nth-child(3){height:29px;animation-delay:.32s}.loading-mark span:nth-child(4){height:40px;animation-delay:.48s}@keyframes weave{50%{transform:scaleY(.5);opacity:.5}}.loading-kicker{font-size:9px;letter-spacing:3px;color:#b9a37e}.loading h2{font:normal 34px Georgia,serif;letter-spacing:1.2px;margin:5px 0;color:#e9d8b3}.loading-sub{font-size:11px;color:#a8b3a4}.loading-track{height:1px;background:#687667;width:200px;overflow:hidden;margin-top:20px}.loading-track span{height:100%;display:block;width:48%;background:#d9b879;animation:loadline 1.8s ease-in-out infinite}@keyframes loadline{50%{transform:translateX(155%)}}.load-retry{background:none;border:1px solid var(--gold);color:var(--cream);padding:10px 16px}
.help-dialog{width:min(610px,calc(100% - 24px));max-height:min(87vh,800px);overflow:auto;position:fixed;background:#15221b;color:#efe2cc;border:1px solid #806b46;padding:38px;box-shadow:0 35px 110px #0009}.help-dialog::backdrop{background:#06100bd9;backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:13px;top:13px;background:none;border:0;color:#d9c197;font-size:27px}.help-dialog h2{font:normal 44px Georgia,serif;letter-spacing:-1px;margin:14px 0}.dialog-intro{line-height:1.8;font-size:13px;color:#c4c8b5}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin:30px 0}.help-grid>div{display:flex;flex-direction:column;gap:9px;border-top:1px solid #52624f;padding-top:12px}.help-grid b{color:var(--gold);font:17px Georgia,serif}.help-grid strong{font-size:10px;letter-spacing:1.8px}.help-grid span{font-size:11px;line-height:1.65;color:#c5c7ba}.help-grid kbd{color:var(--gold);border:1px solid #5c6c5b;padding:1px 5px}.historical-disclaimer{border-left:2px solid #bd9d63;padding:8px 0 8px 15px;color:#bfc0af;font-size:11px;line-height:1.8}.help-dialog>a{display:block;color:#dfc68c;font-size:10px;letter-spacing:.7px;margin:15px 0}
@media(max-width:1400px){.hero{left:4.7%;top:19%}.hero h1{font-size:clamp(43px,4.8vw,72px)}.right-rail{width:268px;right:20px}.view-picker{left:19px}.control-deck{width:calc(100% - 38px)}.deck-credit{display:none}.stats{gap:13px}.deck-actions{gap:10px}.action-cluster button{padding-left:10px;padding-right:10px}}
@media(max-width:1020px){.hero{top:16%;left:27px}.hero h1{font-size:52px}.hero .intro{display:none}.right-rail{right:18px;top:80px;width:246px;max-height:calc(100vh - 350px)}.right-rail h2{font-size:24px}.view-picker{left:18px;top:auto;bottom:250px;transform:none;width:auto;flex-direction:row}.view-picker .picker-label,.view-picker-foot{display:none}.view-picker button{font-size:0;padding:8px 12px}.view-picker .view-glyph{font-size:19px}.control-deck{bottom:10px}.deck-actions{align-items:flex-start}.deck-top{height:47px}.deck-label small{display:none}.stats small{display:none}.stats{gap:17px}.deck-actions{flex-wrap:wrap}.deck-group{flex:1}.scene-hint{bottom:255px}}
@media(max-width:740px){html,body,#museum{min-height:500px}.header{padding:13px 15px}.brand-copy strong{font-size:9px}.brand-copy small{font-size:7px;letter-spacing:1.1px}.brand-symbol{height:31px;width:31px}.era-tag{display:none}.hero{left:18px;top:82px}.hero h1{font-size:41px;letter-spacing:-2.3px;margin:11px 0}.ukr-title{font-size:16px;margin:6px 0}.hero-meta{font-size:7px;max-width:210px;line-height:1.5;margin-top:12px}.chapter{font-size:8px;letter-spacing:2px}.right-rail{right:11px;top:235px;width:min(235px,59vw);max-height:max(120px,calc(100vh - 510px));padding:13px 15px;overflow:auto}.right-rail h2{font-size:20px}.right-rail p{font-size:10px;line-height:1.5}.right-rail .info-note{display:none}.info-divider{margin:11px 0}.rail-bottom{margin-top:12px}.info-object-tag{margin:12px 0 8px}.view-picker{bottom:234px;left:10px}.view-picker button{padding:5px 8px}.scene-hint{display:none}.control-deck{width:100%;left:0;transform:none;bottom:0;border-left:0;border-right:0}.deck-top{height:40px;padding:0 11px}.deck-label strong{font-size:9px;letter-spacing:1.1px}.deck-emblem{font-size:19px}.stats{gap:10px}.stats strong{font-size:10px}.deck-actions{padding:8px 10px;gap:5px;min-height:0}.action-cluster{width:100%;gap:4px}.action-cluster button{min-height:33px;flex:1;padding:0 7px;font-size:8px;letter-spacing:.2px}.action-cluster .compact{flex:0 0 44px}.line-btn.compact small{display:none}.deck-group{min-width:110px}.deck-group label{font-size:8px}.deck-group select{height:32px;padding:5px 8px;font-size:10px}.slider-group{width:90px;min-width:80px;flex:.45}.deck-bottom{padding:2px 8px;max-height:76px;overflow-y:auto}.secondary-actions{gap:0}.secondary-actions button{padding:6px 9px;font-size:8px}.secondary-actions span{font-size:13px}.toast{bottom:211px;max-width:90vw;white-space:normal;text-align:center}.marker{width:24px;height:24px}.help-dialog{padding:20px}.help-dialog h2{font-size:29px}}
@media(max-height:770px){.hero{top:15%}.hero h1{font-size:47px}.intro{display:none}.right-rail{top:80px;max-height:calc(100vh - 300px)}.scene-hint{display:none}.view-picker{top:46%;transform:translateY(-10%)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Explicitly override the display rule for projected markers outside the camera frustum. */
.marker[hidden]{display:none}
