/* Chronometer №13 — geocentric instrument */
:root{
  --void:#0c0906; --ink:rgba(22,16,9,.88); --line:rgba(201,164,92,.28);
  --brass:#c9a45c; --brassdim:#8a7040; --verdigris:#7fae94; --oxblood:#b06a52;
  --candle:#e6c07a; --parch:#e9dfc8; --dim:#9a8a6c;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%;overflow:hidden;background:var(--void)}
body{font-family:'IM Fell English',serif;color:var(--parch)}
#stage{position:fixed;inset:0;cursor:grab;touch-action:none}
#stage.dragging{cursor:grabbing}
.hud{transition:opacity .5s, transform .5s}
body.veiled .hud{opacity:0;pointer-events:none}

.panel{background:var(--ink);border:1px solid var(--line);
  backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);border-radius:2px;
  box-shadow:0 0 0 3px rgba(12,9,6,.4), inset 0 0 24px rgba(201,164,92,.05)}

#ornaments{position:fixed;top:14px;left:14px;z-index:40;display:flex;flex-direction:column;gap:8px}
.orn{width:44px;height:44px;border-radius:50%;background:var(--ink);border:1px solid var(--line);
  color:var(--brass);font-size:20px;line-height:1;cursor:pointer;
  box-shadow:0 0 0 3px rgba(12,9,6,.4);transition:all .2s;font-family:serif;
  display:flex;align-items:center;justify-content:center;text-decoration:none}
.orn:hover{border-color:var(--brass);color:var(--candle)}
.orn:focus-visible{outline:1px solid var(--brass);outline-offset:2px}
.orn.on{background:var(--brass);color:var(--void)}
#earthview{display:none}
body.pinned #earthview{display:flex}

#masthead{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:10;
  padding:8px 24px 10px;text-align:center;pointer-events:none;max-width:80vw}
#masthead a{color:inherit;text-decoration:none;pointer-events:auto}
#masthead h1{font-family:'IM Fell English SC',serif;font-weight:400;font-size:clamp(13px,2.2vw,19px);
  letter-spacing:.26em;color:var(--brass);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#masthead .sub{font-style:italic;font-size:10px;letter-spacing:.2em;color:var(--dim);margin-top:3px}

#cabinet{position:fixed;top:0;left:0;bottom:0;z-index:30;width:288px;max-width:86vw;
  padding:70px 20px 20px;overflow-y:auto;transform:translateX(-103%);
  transition:transform .45s cubic-bezier(.22,.8,.3,1);
  background:var(--ink);border-right:1px solid var(--line);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#cabinet.open{transform:translateX(0)}
.cab-h{font-family:'IM Fell English SC',serif;font-size:11px;letter-spacing:.26em;
  color:var(--dim);margin:18px 0 8px;display:flex;align-items:center;gap:10px}
.cab-h::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
#cab-date{font-size:16px}
#cab-time{font-family:'Cutive Mono',monospace;font-size:21px;color:var(--candle);margin-top:2px}
#cab-jd{font-family:'Cutive Mono',monospace;font-size:10px;color:var(--dim);margin-top:5px}
.cab-row{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:13px}
.switch{font-family:'IM Fell English SC',serif;font-size:11px;letter-spacing:.14em;
  color:var(--verdigris);background:transparent;border:1px solid rgba(127,174,148,.4);
  padding:5px 12px;cursor:pointer;border-radius:2px;transition:all .15s}
.switch:hover{border-color:var(--verdigris)}
.switch:focus-visible{outline:1px solid var(--verdigris);outline-offset:2px}
.switch.on{background:var(--verdigris);color:var(--void)}
#res-scope{display:block;width:100%;height:40px;border:1px solid var(--line);
  background:rgba(12,9,6,.5);margin-top:8px}
#jump{width:100%;margin-top:8px;background:transparent;border:1px solid var(--line);color:var(--parch);
  font-family:'Cutive Mono',monospace;font-size:11px;padding:7px 6px;border-radius:2px;color-scheme:dark}
#jump:focus-visible{outline:1px solid var(--brass)}
.cab-note{font-style:italic;font-size:11px;color:var(--dim);line-height:1.8;margin-top:6px}
.cab-doors{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.cab-doors a{display:flex;justify-content:space-between;gap:8px;padding:7px 8px;
  border:1px solid var(--line);color:var(--parch);text-decoration:none;font-size:12px}
.cab-doors a:hover,.cab-doors a:focus-visible{border-color:var(--brass);color:var(--candle)}
.cab-doors b{font-family:'IM Fell English SC',serif;font-weight:400;letter-spacing:.12em;color:var(--brass)}
.cab-doors span{font-style:italic;color:var(--dim);font-size:11px}

#dossier{position:fixed;bottom:104px;left:14px;z-index:10;padding:13px 17px;width:236px;display:none}
#dossier.open{display:block}
#do-glyph{float:right;font-size:28px;line-height:1;color:var(--brass);font-family:serif}
#do-name{font-family:'IM Fell English SC',serif;font-size:18px;letter-spacing:.12em}
#do-sign{font-size:14px;font-style:italic;color:var(--verdigris);margin-top:4px}
.do-row{display:flex;justify-content:space-between;font-family:'Cutive Mono',monospace;
  font-size:10px;margin-top:6px;color:var(--dim)}
.do-row b{color:var(--parch);font-weight:400}
#do-motion.retro{color:var(--oxblood)}
#do-close{position:absolute;top:5px;right:7px;background:none;border:0;color:var(--dim);
  font-family:inherit;font-size:13px;cursor:pointer;padding:4px}
#do-close:hover{color:var(--parch)}
#do-pin{width:100%;margin-top:10px;text-align:center}

#throttle{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:10;
  padding:9px 16px 7px;display:flex;flex-direction:column;gap:4px;width:min(520px,94vw)}
#th-top{display:flex;align-items:center;gap:12px}
.th-btn{font-family:'IM Fell English SC',serif;font-size:10px;letter-spacing:.16em;
  color:var(--candle);background:transparent;border:1px solid rgba(230,192,122,.4);
  padding:6px 10px;cursor:pointer;border-radius:2px;white-space:nowrap;transition:all .15s}
.th-btn:hover{border-color:var(--candle)}
.th-btn:focus-visible{outline:1px solid var(--candle);outline-offset:2px}
#lever{flex:1;-webkit-appearance:none;appearance:none;height:26px;background:transparent;cursor:pointer}
#lever::-webkit-slider-runnable-track{height:3px;border-radius:2px;
  background:linear-gradient(90deg, rgba(176,106,82,.7), rgba(201,164,92,.25) 46%, rgba(201,164,92,.7) 50%, rgba(201,164,92,.25) 54%, rgba(127,174,148,.7))}
#lever::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:24px;margin-top:-10.5px;
  background:linear-gradient(180deg,var(--candle),var(--brassdim));
  border:1px solid var(--brass);border-radius:3px;box-shadow:0 0 8px rgba(230,192,122,.5)}
#lever::-moz-range-track{height:3px;border-radius:2px;
  background:linear-gradient(90deg, rgba(176,106,82,.7), rgba(201,164,92,.25) 46%, rgba(201,164,92,.7) 50%, rgba(201,164,92,.25) 54%, rgba(127,174,148,.7))}
#lever::-moz-range-thumb{width:15px;height:24px;background:linear-gradient(180deg,var(--candle),var(--brassdim));
  border:1px solid var(--brass);border-radius:3px;box-shadow:0 0 8px rgba(230,192,122,.5)}
#lever:focus-visible{outline:1px solid var(--brass);outline-offset:2px}
#th-caption{display:flex;justify-content:space-between;font-family:'Cutive Mono',monospace;
  font-size:10px;color:var(--dim)}
#th-rate{color:var(--parch)}
#th-disp{color:var(--oxblood)}
.th-label{font-family:'IM Fell English SC',serif;font-size:9px;letter-spacing:.3em;
  color:var(--dim);text-align:center}

#doors{position:fixed;top:14px;right:14px;z-index:20;display:flex;flex-wrap:wrap;
  justify-content:flex-end;gap:6px;max-width:min(42vw,22rem)}
#doors a{font-family:'IM Fell English SC',serif;font-size:10px;letter-spacing:.14em;
  color:var(--brass);text-decoration:none;padding:6px 9px;border:1px solid var(--line);
  background:var(--ink);backdrop-filter:blur(8px)}
#doors a:hover,#doors a:focus-visible{border-color:var(--brass);color:var(--candle)}

@media (max-width:640px){
  #masthead{top:auto;bottom:calc(14px + 92px);padding:6px 16px 7px;background:none;border:none;box-shadow:none;backdrop-filter:none}
  #masthead .sub{display:none}
  #dossier{bottom:auto;top:70px;left:auto;right:12px;width:196px}
  #throttle{width:96vw;padding:8px 12px 6px}
  #doors{top:auto;bottom:calc(14px + 92px);right:12px;left:auto;max-width:48vw}
  #doors a{padding:5px 7px;font-size:9px}
}
@media (prefers-reduced-motion:reduce){
  #cabinet{transition:none}.hud{transition:none}
}
