/* stage & themes */
.stage{position:relative;width:100%;max-width:1180px;aspect-ratio:16/9;border-radius:4px;overflow:hidden;container-type:size;background:var(--bg);color:var(--ink);box-shadow:0 2px 8px rgba(31,42,55,.15);
  --mute:color-mix(in srgb,var(--ink) 58%,var(--bg));--cell:color-mix(in srgb,var(--ink) 6%,transparent);
  --tile-bg:color-mix(in srgb,var(--ink) 8%,var(--bg));--tile-border:1px solid transparent;--tile-left:var(--tile-border);--tile-radius:1cqw;--tile-shadow:none;--tile-blur:none;--accent:#6FA37B;--label:var(--mute)}
.stage.grid{background-image:linear-gradient(color-mix(in srgb,var(--ink) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ink) 7%,transparent) 1px,transparent 1px);background-size:2% 2%}
.stage.play{border-radius:0;max-width:none;box-shadow:none}
.stage .empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--mute);text-align:center;line-height:1.8}
.thumb{position:relative;aspect-ratio:16/9;border-radius:3px;overflow:hidden;background:var(--bg);color:var(--ink);container-type:size;
  --mute:color-mix(in srgb,var(--ink) 58%,var(--bg));--cell:color-mix(in srgb,var(--ink) 6%,transparent);
  --tile-bg:color-mix(in srgb,var(--ink) 8%,var(--bg));--tile-border:1px solid transparent;--tile-left:var(--tile-border);--tile-radius:1cqw;--tile-shadow:none;--tile-blur:none;--accent:#6FA37B}
.thumb .mini{position:absolute;font-size:5cqw;padding:4cqw;display:flex;flex-direction:column;gap:1.5cqw;overflow:hidden;justify-content:center}
.thumb .mini b{font-size:7cqw;line-height:1;white-space:nowrap}
.thumb .mini small{font-size:4.5cqw;color:var(--mute)}
.widget,.mini{background:var(--tile-bg);border:var(--tile-border);border-left:var(--tile-left);border-radius:var(--tile-radius);box-shadow:var(--tile-shadow);backdrop-filter:var(--tile-blur);-webkit-backdrop-filter:var(--tile-blur)}
.widget{position:absolute;color:var(--ink);overflow:hidden;user-select:none;font-size:1.5cqw}
.widget.sel{outline:2px solid #4C8DFF;outline-offset:2px}
.stage:not(.play) .widget{cursor:move}
.widget .wtag{position:absolute;top:0;left:0;z-index:3;font-size:1cqw;background:color-mix(in srgb,var(--ink) 85%,transparent);color:var(--bg);padding:.1cqw .6cqw;display:flex;gap:.6cqw;align-items:center}
.widget .wtag button{background:none;border:0;color:inherit;padding:0;font-size:1.1cqw;line-height:1}
.stage.play .wtag{display:none}
.widget .rs{position:absolute;right:0;bottom:0;width:1.6cqw;height:1.6cqw;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,#4C8DFF 50%);z-index:3}
.stage.play .rs{display:none}
.stage:not(.play) .widget:not(.w-map):not(.w-video):not(.w-ticker):not(.w-slides):not(.w-clock) .wc{padding-top:2.2cqw}
.wc{position:absolute;inset:0;padding:1.2cqw;display:flex;flex-direction:column;gap:.6cqw}
.wc h4{margin:0;font-size:1.1cqw;font-weight:500;color:var(--label);align-self:flex-start}
.lb-none .wc h4{display:none}
.lb-chip .wc h4{background:var(--label);color:var(--bg);padding:.1cqw .8cqw;border-radius:99cqw;font-size:1cqw}
.lb-underline .wc h4{border-bottom:.15cqw solid var(--label);padding-bottom:.2cqw}
.lb-bar .wc h4{border-left:.4cqw solid var(--label);padding-left:.6cqw}
.lb-box .wc h4{border:1px solid var(--label);padding:.05cqw .7cqw;border-radius:.3cqw}
.th-outline{--tile-bg:transparent;--tile-border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);--tile-radius:.4cqw;--accent:var(--ink)}
.th-glass{--tile-bg:color-mix(in srgb,var(--ink) 7%,transparent);--tile-border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);--tile-radius:1.2cqw;--tile-blur:blur(14px);--tile-shadow:0 .8cqw 2cqw rgba(0,0,0,.28);--accent:#7FB3D5}
.th-card{--tile-bg:color-mix(in srgb,var(--ink) 9%,var(--bg));--tile-border:0;--tile-radius:.9cqw;--accent:#6FA37B}
.th-rule{--tile-bg:transparent;--tile-border:0;--tile-radius:0;--tile-shadow:inset 0 2px 0 color-mix(in srgb,var(--ink) 35%,transparent);--cell:transparent;--accent:#C9A86A}
.th-soft{--tile-bg:color-mix(in srgb,var(--ink) 8%,var(--bg));--tile-border:0;--tile-radius:2.2cqw;--tile-shadow:0 1cqw 2.4cqw rgba(0,0,0,.32);--accent:#8FB39B}
.th-industrial{--tile-bg:color-mix(in srgb,var(--ink) 6%,var(--bg));--tile-border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);--tile-left:.5cqw solid var(--accent);--tile-radius:0;--accent:#E0A43C}
.th-gradient{--tile-bg:linear-gradient(160deg,color-mix(in srgb,var(--ink) 13%,var(--bg)),color-mix(in srgb,var(--ink) 3%,var(--bg)));--tile-border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);--tile-radius:1cqw;--accent:#7A9EDB}
.th-tint{--tile-bg:color-mix(in srgb,var(--accent) 22%,var(--bg));--tile-border:0;--tile-radius:.6cqw;--cell:color-mix(in srgb,var(--bg) 35%,transparent);--accent:#5F8A6A}
.th-emboss{--tile-bg:var(--bg);--tile-border:0;--tile-radius:1.4cqw;--tile-shadow:.6cqw .6cqw 1.6cqw rgba(0,0,0,.45),-.4cqw -.4cqw 1.2cqw color-mix(in srgb,var(--ink) 9%,transparent);--accent:#A7B8AD}
.th-accent{--tile-bg:color-mix(in srgb,var(--ink) 4%,var(--bg));--tile-border:1px solid color-mix(in srgb,var(--accent) 60%,transparent);--tile-shadow:0 0 1.2cqw color-mix(in srgb,var(--accent) 28%,transparent);--tile-radius:.8cqw;--accent:#4FB0A6}

/* widgets (with variants) */
.w-clock .wc{justify-content:center;align-items:flex-end;text-align:right}
.w-clock .t{font-size:5cqw;font-weight:600;line-height:1;letter-spacing:.02em}
.w-clock .d{font-size:1.4cqw;color:var(--mute)}
.w-clock.v2 .wc{align-items:center;text-align:center}
.w-clock.v2 .t{font-size:6cqw}
.w-clock.v3 .wc{flex-direction:row;align-items:center;justify-content:center;gap:1.5cqw}
.w-clock.v3 svg{height:80%;aspect-ratio:1}
.w-clock.v3 .t{font-size:3cqw}
.w-aq .grid{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:.6cqw;flex:1;min-height:0}
.w-aq .cell{background:var(--cell);border-radius:.6cqw;padding:.6cqw .8cqw;display:flex;flex-direction:column;justify-content:center;min-width:0;border-left:.35cqw solid var(--lv)}
.w-aq .cell .k{font-size:1cqw;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w-aq .cell .v{font-size:2cqw;font-weight:600;line-height:1.15;white-space:nowrap}
.w-aq .cell .v small{font-size:.9cqw;font-weight:400;color:var(--mute);margin-left:.3cqw}
.w-aq .lrows{display:flex;flex-direction:column;gap:.3cqw;flex:1;justify-content:center}
.w-aq .lrow{display:grid;grid-template-columns:7cqw 1fr 6cqw;align-items:center;gap:.8cqw;font-size:1.1cqw}
.w-aq .lrow .bar{height:.7cqw;background:var(--cell);border-radius:.4cqw;overflow:hidden}
.w-aq .lrow .bar i{display:block;height:100%;background:var(--lv);width:var(--pct)}
.w-aq .lrow b{text-align:right;font-weight:600}
.w-aq .hero{display:flex;flex:1;gap:1cqw;align-items:stretch}
.w-aq .hero .main{flex:1.2;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:.8cqw;background:var(--cell);border-left:.5cqw solid var(--lv)}
.w-aq .hero .main .v{font-size:4.5cqw;font-weight:700;line-height:1}
.w-aq .hero .main .k{font-size:1.1cqw;color:var(--mute)}
.w-aq .hero .rest{flex:1;display:flex;flex-direction:column;gap:.3cqw;justify-content:center}
.w-aq .hero .rest div{display:flex;justify-content:space-between;font-size:1.1cqw;border-bottom:1px solid var(--cell);padding:.15cqw 0}
.w-io .rows{display:flex;flex-direction:column;gap:.5cqw;flex:1;justify-content:center}
.w-io .row{display:flex;align-items:center;gap:1cqw;background:var(--cell);border-radius:.6cqw;padding:.5cqw 1cqw}
.w-io .row .n{font-size:1.3cqw;flex:1}
.w-io .row .st{font-size:1.2cqw;font-weight:600;padding:.15cqw 1cqw;border-radius:99cqw;color:#fff;background:var(--sc);min-width:6cqw;text-align:center}
.w-io .row .dot{width:1cqw;height:1cqw;border-radius:50%;background:var(--sc)}
.w-io .tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:.6cqw;flex:1}
.w-io .tile{background:var(--sc);color:#fff;border-radius:.6cqw;display:flex;flex-direction:column;justify-content:center;padding:.6cqw 1cqw}
.w-io .tile .n{font-size:1cqw;opacity:.85}.w-io .tile .st{font-size:1.8cqw;font-weight:700}
.w-io .lamps{display:flex;gap:1cqw;flex:1;align-items:center;justify-content:space-around}
.w-io .lamp{display:flex;flex-direction:column;align-items:center;gap:.4cqw;font-size:1cqw;color:var(--mute)}
.w-io .lamp i{width:3cqw;height:3cqw;border-radius:50%;background:var(--sc);box-shadow:0 0 1.2cqw var(--sc)}
.w-io .lamp b{color:var(--ink);font-size:1.1cqw}
.w-weather .cur{display:flex;align-items:center;gap:1cqw}
.w-weather .cur svg{width:4cqw;height:4cqw}
.w-weather .cur .tp{font-size:3.2cqw;font-weight:600;line-height:1}
.w-weather .cur .cd{color:var(--mute);font-size:1.1cqw}
.w-weather .fc{display:flex;gap:.5cqw;margin-top:auto}
.w-weather .fc div{flex:1;background:var(--cell);border-radius:.6cqw;padding:.5cqw;text-align:center;font-size:1cqw;line-height:1.5}
.w-weather .fc svg{width:1.6cqw;height:1.6cqw;vertical-align:middle}
.w-weather .fc b{font-weight:600;display:block;font-size:1.3cqw}
.w-weather .src{font-size:.85cqw;color:var(--mute)}
.w-weather.v2 .wc{align-items:center;justify-content:center;text-align:center}
.w-weather.v2 .cur{flex-direction:column;gap:.2cqw}
.w-weather.v2 .cur svg{width:6cqw;height:6cqw}
.w-weather.v2 .cur .tp{font-size:5cqw}
.w-weather.v3 .wc{flex-direction:row;align-items:center}
.w-weather.v3 .cur{flex:1.2}
.w-weather.v3 .fc{margin:0;flex:2}
.w-weather.v3 h4{position:absolute;top:1cqw;left:1.2cqw}
.w-map .wc{padding:0}
.w-map svg{width:100%;height:100%;display:block}
.w-map .cap{position:absolute;left:1cqw;bottom:.8cqw;font-size:1cqw;color:var(--mute)}
.w-bulletin .ttl{font-size:1.8cqw;font-weight:600}
.w-bulletin .body{font-size:1.35cqw;line-height:1.7;white-space:pre-wrap;overflow:hidden;opacity:.9}
.w-bulletin.v2 .ttl{background:var(--accent);color:#fff;margin:-1.2cqw -1.2cqw .4cqw;padding:.6cqw 1.2cqw;font-size:1.6cqw}
.w-bulletin.v3 .body{white-space:normal}
.w-bulletin.v3 .body p{margin:0 0 .4cqw;padding-left:2.4cqw;position:relative}
.w-bulletin.v3 .body p b{position:absolute;left:0;top:.1cqw;width:1.8cqw;height:1.8cqw;border-radius:50%;background:var(--cell);font-size:1cqw;display:grid;place-items:center;font-weight:600}
.w-video .wc{padding:0;background:#000;justify-content:center;align-items:center}
.w-video video{width:100%;height:100%;object-fit:contain;display:block}
.w-video .tri{width:0;height:0;border-left:3cqw solid rgba(255,255,255,.6);border-top:1.8cqw solid transparent;border-bottom:1.8cqw solid transparent}
.w-video .vl{position:absolute;left:1cqw;bottom:.8cqw;font-size:1cqw;color:#9BB3A4}
.w-audio .wc{align-items:center;justify-content:center;text-align:center;gap:.3cqw}
.w-audio svg{width:2cqw;height:2cqw}
.w-audio .sl{font-size:.95cqw;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.w-ticker{border-radius:0!important;background:var(--tkbg,color-mix(in srgb,var(--ink) 10%,var(--bg)))!important;border:0!important;box-shadow:none!important}
.w-ticker .wc{padding:0;justify-content:center}
.w-ticker .track{white-space:nowrap;font-size:1.6cqw;animation:tick 22s linear infinite;padding-left:100%}
.w-ticker .track b{color:var(--accent);font-weight:600;margin-right:1cqw}
@keyframes tick{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.w-ticker .track{animation:none;padding-left:1cqw}}
.w-slides .wc{padding:0;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 45%,var(--bg)),color-mix(in srgb,var(--accent) 15%,var(--bg)));align-items:center;justify-content:center}
.w-slides .sl{font-size:1.4cqw;text-align:center;line-height:1.6;opacity:.85}
.w-slides .dots{position:absolute;bottom:1cqw;display:flex;gap:.5cqw}
.w-slides .dots i{width:.7cqw;height:.7cqw;border-radius:50%;background:color-mix(in srgb,var(--ink) 35%,transparent)}
.w-slides .dots i:first-child{background:var(--ink)}
.w-avail .rows{display:flex;flex-direction:column;gap:.35cqw;flex:1;justify-content:center}
.w-avail .row{display:flex;align-items:baseline;gap:.8cqw;background:var(--cell);border-radius:.6cqw;padding:.3cqw .9cqw}
.w-avail .row .k{color:var(--mute);font-size:1cqw;width:4.5cqw}
.w-avail .row .v{font-size:1.8cqw;font-weight:600;line-height:1.2}
.w-avail .row .u{font-size:1cqw;color:var(--mute)}
.w-avail.v2 .rows{flex-direction:row;gap:.6cqw}
.w-avail.v2 .row{flex:1;flex-direction:column;align-items:center;justify-content:center;gap:0}
.w-avail.v2 .row .k{width:auto}.w-avail.v2 .row .v{font-size:3cqw}
.w-avail.v3 .row{flex-direction:column;align-items:stretch;gap:.2cqw}
.w-avail.v3 .row .bar{height:.6cqw;background:color-mix(in srgb,var(--ink) 12%,transparent);border-radius:.3cqw;overflow:hidden}
.w-avail.v3 .row .bar i{display:block;height:100%;background:var(--accent);width:var(--pct)}
.w-avail.v3 .row .k{width:auto}
.w-safety .wc{align-items:center;justify-content:center;text-align:center}
.w-safety .big{font-size:6cqw;font-weight:700;line-height:1;color:var(--accent)}
.w-safety .lb{font-size:1.3cqw;color:var(--mute)}
.w-safety .sub{font-size:1.1cqw;margin-top:.6cqw;color:var(--warn)}
.w-safety.v2 .wc{flex-direction:row;justify-content:flex-start;text-align:left;gap:1.5cqw;align-items:center}
.w-safety.v2 .big{font-size:5cqw}
.w-safety.v2 .sub{margin:0}
.w-safety.v3 .wc{justify-content:center}
.w-safety.v3 .big{font-size:4cqw;background:var(--accent);color:var(--bg);padding:.4cqw 2cqw;border-radius:.6cqw}
.w-power .rows,.w-transit .rows{display:flex;flex-direction:column;gap:.4cqw;flex:1;justify-content:center}
.w-power .row,.w-transit .row{display:flex;justify-content:space-between;font-size:1.2cqw;border-bottom:1px solid color-mix(in srgb,var(--ink) 14%,transparent);padding:.3cqw 0}
.w-power .row b,.w-transit .row b{font-weight:600}
.w-transit .row b{color:var(--accent)}
.w-power .lamp{display:inline-block;width:1cqw;height:1cqw;border-radius:50%;background:#6FC27E;margin-right:.5cqw;vertical-align:middle}
.w-qr .wc{align-items:center;justify-content:center;gap:.6cqw}
.w-qr canvas{width:60%;aspect-ratio:1;background:#fff;border-radius:.5cqw;padding:.5cqw}
.w-qr .ql{font-size:1cqw;color:var(--mute);text-align:center}


/* preview */
.preview{position:fixed;inset:0;background:#000;z-index:50;display:grid;place-items:center}
.preview[hidden]{display:none}
.preview .frame{width:min(100vw,177.78vh);aspect-ratio:16/9;position:relative}
.preview .pbar{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:60}
.preview .pbar button,.preview .pbar select{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.25);backdrop-filter:blur(6px);width:auto}
.preview .pbar select option{color:#000}
.preview .purl{position:absolute;top:12px;left:12px;color:rgba(255,255,255,.55);font-size:12px;z-index:60}
.takeover{position:absolute;inset:0;background:var(--tc,#8E1C1A);color:#fff;display:none;flex-direction:column;align-items:center;justify-content:center;gap:1.5cqw;text-align:center;z-index:70;container-type:size}
.takeover.on{display:flex;animation:flash 1s steps(2) 4}
@keyframes flash{50%{background:color-mix(in srgb,var(--tc,#8E1C1A) 80%,#fff)}}
@media (prefers-reduced-motion:reduce){.takeover.on{animation:none}}
.takeover .h{font-size:6cqw;font-weight:700;line-height:1.1}
.takeover .p{font-size:2.4cqw;line-height:1.5;max-width:70%;white-space:pre-wrap}
.takeover .m{font-size:2.6cqw;font-weight:600}
.takeover .foot{position:absolute;bottom:2cqw;font-size:1.4cqw;opacity:.8}


/* ===== v2 widgets ===== */
.wc.need,.need{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--mute);font-size:1.1cqw;border:1px dashed color-mix(in srgb,var(--ink) 25%,transparent);border-radius:.6cqw}
.stage.hasbg{background-color:var(--bg)}
.w-text .wc{padding:.8cqw 1.2cqw}
.w-text .tx{line-height:1.25;white-space:normal;overflow:hidden}
.w-data .drows{display:flex;flex-direction:column;gap:.3cqw;flex:1;justify-content:center}
.w-data .drows>div{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent);padding:.25cqw 0;font-size:1.2cqw}
.w-data .drows b{font-size:1.5cqw;font-weight:600}
.w-data .drows small{color:var(--mute);font-weight:400;font-size:.9cqw}
.w-data .dgrid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:.6cqw;flex:1}
.w-data .dgrid>div{background:var(--cell);border-radius:.6cqw;display:flex;flex-direction:column;justify-content:center;padding:.5cqw .8cqw;min-width:0}
.w-data .dgrid .k{font-size:1cqw;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w-data .dgrid b{font-size:2.2cqw;font-weight:700;line-height:1.1;color:var(--accent)}
.w-data .dgrid small{font-size:.9cqw;color:var(--mute)}
.w-data .dbig{display:flex;align-items:baseline;gap:.6cqw}
.w-data .dbig .k{font-size:1.1cqw;color:var(--mute);align-self:center}
.w-data .dbig b{font-size:4cqw;font-weight:700;color:var(--accent);line-height:1}
.w-data .dbig small{color:var(--mute);font-size:1.2cqw}
.vi{width:3.4cqw;height:3.4cqw;flex:none}
.w-value .lab{display:flex;align-items:baseline;gap:.8cqw;flex-wrap:wrap}
.w-value .lab b{font-size:1.9cqw;font-weight:600}
.w-value .lab small{font-size:1cqw;color:var(--mute)}
.w-value .big{font-weight:700;line-height:1}
.w-value .vc1 .body{flex:1;display:flex;align-items:center;justify-content:center;gap:1.2cqw}
.w-value .vc1 .vi{width:4.4cqw;height:4.4cqw}
.w-value .vc1 .big{font-size:5.6cqw}
.w-value .vc1 small{font-size:2cqw;align-self:flex-end;margin-bottom:.6cqw}
.w-value .vc2{align-items:center;justify-content:center;text-align:center}
.w-value .vc2 .lab{justify-content:center}
.w-value .vc2 .big{font-size:5cqw}
.w-value .vc2 .big small{font-size:1.6cqw;margin-left:.4cqw;font-weight:500}
.w-value .vc3{justify-content:center;gap:.2cqw}
.w-value .vc3 .lab b{font-size:1.2cqw;color:var(--mute);font-weight:500}
.w-value .vc3 .line{display:flex;align-items:baseline;gap:.5cqw}
.w-value .vc3 .big{font-size:3.4cqw}
.w-value .vc3 small{font-size:1.1cqw;color:var(--mute)}
.w-table .tbh{display:flex;align-items:center;justify-content:center;position:relative;background:var(--accent);color:#fff;margin:-1.2cqw -1.2cqw .4cqw;padding:.5cqw 1cqw;border-radius:var(--tile-radius) var(--tile-radius) 0 0}
.w-table .tbh b{font-size:1.9cqw;letter-spacing:.2em}
.w-table .tbh small{position:absolute;right:1cqw;font-size:1cqw;opacity:.9}
.dtab{width:100%;flex:1;border-collapse:collapse;font-size:1.6cqw}
.dtab th,.dtab td{padding:.4cqw .6cqw;text-align:center;border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.dtab thead th{font-weight:500;background:color-mix(in srgb,var(--accent) 18%,transparent)}
.dtab tbody th{font-weight:500;width:4cqw;background:color-mix(in srgb,var(--accent) 10%,transparent)}
.dtab tbody tr:nth-child(odd) td{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.dtab td{color:var(--accent);font-weight:500}
.w-dir .lab{display:flex;align-items:baseline;gap:.8cqw}
.w-dir .lab b{font-size:1.9cqw;font-weight:600}
.w-dir .lab small{font-size:1cqw;color:var(--mute)}
.w-dir .dirbody{flex:1;display:flex;align-items:center;justify-content:center;gap:2cqw;min-height:0}
.w-dir .arrow{height:80%;max-height:9cqw;aspect-ratio:1;transition:transform .6s}
.w-dir .dirbody b{display:block;font-size:3.4cqw;font-weight:700;line-height:1.1}
.w-dir .dirbody small{font-size:1.4cqw}
.w-dir .compass{flex:1;display:flex;align-items:center;justify-content:center;gap:1.5cqw;min-height:0}
.w-dir .compass svg{height:90%;aspect-ratio:1}
.w-dir .compass b{display:block;font-size:2.6cqw}
.w-dir .compass small{color:var(--mute);font-size:1.2cqw}
.w-chart .chartbox{flex:1;min-height:0;color:var(--ink)}
.w-chart .chartbox svg{width:100%;height:100%;display:block}
.w-image .wc,.w-map .wc{padding:0}
.w-image img{width:100%;height:100%;display:block}
.w-map img{width:100%;height:100%;object-fit:cover;display:block}
.w-map .cap{position:absolute;left:1cqw;bottom:.8cqw;font-size:1cqw;background:color-mix(in srgb,var(--bg) 75%,transparent);padding:.1cqw .6cqw;border-radius:.3cqw}
.w-slides .wc{padding:0;background:none!important}
.w-slides img{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .8s}
.w-slides img.on{opacity:1}
.w-slides .dots{position:absolute;bottom:1cqw;left:0;right:0;display:flex;justify-content:center;gap:.5cqw}
.w-slides .dots i{width:.7cqw;height:.7cqw;border-radius:50%;background:rgba(255,255,255,.45)}
.w-slides .dots i.on{background:#fff}
.w-schedule .stitle{font-size:2cqw;font-weight:700;margin-bottom:.4cqw}
.w-schedule .sched{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.w-schedule .sched>div{display:flex;justify-content:space-between;align-items:center;gap:1cqw;padding:.7cqw 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.w-schedule .sched b{display:block;font-size:1.6cqw;font-weight:600}
.w-schedule .sched small{display:block;font-size:1.05cqw;color:var(--mute)}
.w-schedule .sched .tm{color:var(--accent);font-size:1.5cqw;font-weight:600}
.w-schedule .sched.tl>div{justify-content:flex-start;border:0;padding:.4cqw 0}
.w-schedule .sched.tl i{width:1cqw;height:1cqw;border-radius:50%;background:var(--accent);flex:none}
.w-schedule .sched.tl .tm{width:6cqw}
.lb-none .w-schedule .stitle{display:block}

.stage.portrait{max-width:calc(1180px*9/16)}
.stage.portrait .widget{font-size:1.5cqw}
