
.pagebar{display:flex;align-items:center;gap:14px;padding:12px clamp(8px,2vw,22px) 0;flex-wrap:wrap}
.home{flex:0 0 auto;text-decoration:none;font-size:12px;font-weight:600;color:#8a7320;
 border:1px solid var(--hair);background:#fff;border-radius:8px;padding:7px 12px}
.home:hover{border-color:var(--gold2);color:#000;background:#fffdf6}
.viewhead{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;flex:1 1 auto;min-width:0}
.viewhead .eyebrow{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);font-weight:700}
.viewhead h2{margin:2px 0 0;font-size:clamp(17px,2.3vw,24px);font-weight:800;color:#1a1f25}
.viewhead .sub{font-size:13px;color:var(--mut);margin-top:2px}
.viewhead .right{margin-left:auto;display:flex;gap:10px;align-items:center}
.pill{font-size:11.5px;color:#5a636d;background:#fff;border:1px solid var(--hair);border-radius:999px;padding:5px 12px;white-space:nowrap}
.pill b{color:var(--txt)}
.fitgrp{display:flex;gap:6px}
.fitbtn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:8px;border:1px solid var(--hair);
 background:#fff;color:#39424c;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit}
.fitbtn:hover{border-color:var(--gold2);color:#000;background:#fffdf6}
.fitbtn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7}
main{padding:12px clamp(8px,2vw,22px) 18px}
.stageWrap{position:relative}
.stage{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:auto;
 box-shadow:0 1px 0 #fff8 inset,0 18px 40px -30px #000}
.canvas{position:relative;width:100%;transform-origin:0 0}
.canvas img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.slideimg{display:block;width:100%;height:auto;border-radius:12px}
.zoomfloat{position:absolute;top:12px;right:14px;z-index:30;display:flex;align-items:center;gap:2px;
 background:rgba(14,18,22,.86);backdrop-filter:blur(6px);border:1px solid #2c343d;border-radius:10px;padding:4px;
 box-shadow:0 10px 24px -10px #000a,0 0 0 1px #d4af4522}
.zoomfloat.hide{display:none}
.zbtn{width:30px;height:30px;border-radius:7px;border:1px solid #313a44;background:#1a2128;color:#dfe5ec;cursor:pointer;
 font-size:17px;line-height:1;display:flex;align-items:center;justify-content:center}
.zbtn:hover{background:#242d36;border-color:var(--gold2);color:#fff}
.zlevel{font-size:11px;color:#c4ccd4;min-width:46px;text-align:center;font-variant-numeric:tabular-nums}
.hot{position:absolute;transform:translate(-50%,-50%);min-width:30px;min-height:30px;border:1.6px solid transparent;border-radius:8px;
 cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}
.hot:hover,.hot.open{border-color:rgba(212,175,69,.95);background:rgba(212,175,69,.14)}
.hot .pin{width:13px;height:13px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(212,175,69,.28),0 1px 3px #0007;position:relative;flex:0 0 auto}
.hot .pin::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--gold);animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.6}70%,100%{transform:scale(2.6);opacity:0}}
.hot.open .pin::after{animation:none}
.footnote{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:9px 4px 0;font-size:11.5px;color:#6c7681}
.footnote .sw{width:18px;height:9px;border-radius:2px;display:inline-block;vertical-align:middle;margin-right:5px}
.footnote i{font-style:normal;display:inline-flex;align-items:center}
.tip{position:fixed;z-index:80;width:min(330px,86vw);background:var(--panel);color:var(--inv);border:1px solid #2c343d;border-radius:12px;
 box-shadow:0 24px 50px -16px #000c,0 0 0 1px #d4af4533;opacity:0;pointer-events:none;transform:translateY(6px);transition:.13s;overflow:hidden;
 font-family:'JetBrains Mono','IBM Plex Mono',ui-monospace,monospace}
.tip.show{opacity:1;pointer-events:auto;transform:translateY(0)}
.tip .thead{padding:11px 13px 9px;background:linear-gradient(180deg,#1a2129,#12171c);border-bottom:1px solid #262e36}
.tip .code{font-size:13px;font-weight:600;color:#f2d27a;word-break:break-all}
.tip .badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.tip .badge{font-size:10px;padding:2.5px 7px;border-radius:6px;background:#222b33;color:#cfd6de;border:1px solid #303a43}
.tip .badge.sec{background:#2a2310;color:#e9c869;border-color:#4a3c14}
.tbody{padding:9px 13px 12px}
.tip dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:3px 12px}
.tip dt{font-size:11px;color:#8b95a0;white-space:nowrap}
.tip dd{margin:0;font-size:11.5px;color:#e7e2d6;text-align:right;font-variant-numeric:tabular-nums}
.tip dd b{color:#fff}
.tsec{margin-top:10px;border-top:1px solid #232b33;padding-top:9px}
.tsec .lbl{font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:#7f8993;margin-bottom:6px;font-weight:600}
.leyes{display:flex;flex-wrap:wrap;gap:5px}
.ley{display:flex;flex-direction:column;align-items:center;background:#181f26;border:1px solid #2a333c;border-radius:7px;padding:4px 8px;min-width:48px}
.ley .k{font-size:9px;color:#8e98a2}.ley .v{font-size:12px;font-weight:600;color:#f0ead9;font-variant-numeric:tabular-nums}.ley .u{font-size:8px;color:#6f7884}
.ley.gold{border-color:#5a4a18;background:#221c0c}.ley.gold .v{color:#eccd7a}
.days{display:flex;gap:3px;flex-wrap:wrap}
.day{font-size:9.5px;padding:3px 6px;border-radius:6px;background:#171d23;border:1px solid #283139;color:#5f6873;min-width:34px;text-align:center}
.day.on{background:var(--okbg);border-color:#2c6047;color:#7fe0ad;font-weight:600}
.tnote{font-size:10.5px;color:#8a939d;margin-top:9px;line-height:1.45;border-top:1px solid #232b33;padding-top:8px}
@media (max-width:820px){.viewhead .right{width:100%;margin-left:0}}
