.js-app{--js-bg: #05060f;--js-panel: #121628;--js-panel2: #1a2038;--js-line: #2a3252;--js-text: #e8ecf7;--js-sub: #9aa6c8;--js-accent: #6ea8ff;--js-accent2: #ffd166;max-width:900px;margin:0 auto;padding:0 12px 8px;color:var(--js-text)}.js-app *,.js-app *:before,.js-app *:after{box-sizing:border-box}.js-app ul,.js-app ol{list-style:none;margin:0;padding:0}.js-app button{font-family:inherit}.js-head{width:auto;max-width:100%;padding:0;text-align:center;margin:4px 0 14px}.js-head h1{font-size:26px;font-weight:800;margin:0 0 6px;color:#1a2038;letter-spacing:.02em}.js-lead{font-size:13.5px;line-height:1.7;color:#5a6480;margin:0 auto;max-width:640px}@media (prefers-color-scheme: dark){.js-head h1{color:#e8ecf7}.js-lead{color:#9aa6c8}}.js-control{background:var(--js-panel);border:1px solid var(--js-line);border-radius:14px;padding:14px 16px 12px;margin:0 0 12px}.js-slider-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 8px;margin-bottom:10px}.js-slider-lead{font-size:14px;color:var(--js-sub)}.js-jst-label{font-size:26px;font-weight:800;color:var(--js-accent2);font-variant-numeric:tabular-nums;letter-spacing:.02em}.js-jst-day{font-size:12.5px;color:var(--js-sub)}.js-live-badge{margin-left:auto;font-size:11.5px;color:#7be3a4;background:#46c8821f;border:1px solid rgba(90,210,150,.35);border-radius:999px;padding:3px 10px;white-space:nowrap}.js-golive{margin-left:auto;font-size:12px;color:var(--js-accent);background:#6ea8ff1f;border:1px solid rgba(110,168,255,.4);border-radius:999px;padding:5px 12px;cursor:pointer}.js-golive:hover{background:#6ea8ff38}.js-slider{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:999px;background:linear-gradient(90deg,#1a2340,#2a3a66,#1a2340);outline:none;margin:2px 0 4px}.js-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe08a,#ffb830);border:2px solid #fff;box-shadow:0 2px 8px #00000080;cursor:pointer}.js-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe08a,#ffb830);border:2px solid #fff;cursor:pointer}.js-slider-scale{display:flex;justify-content:space-between;font-size:10.5px;color:var(--js-sub);padding:0 2px}.js-dst-note{margin:8px 0 0;font-size:11.5px;line-height:1.5;color:var(--js-sub)}.js-stage{position:relative;width:100%;aspect-ratio:1 / 1;max-height:62vh;background:radial-gradient(ellipse at 50% 42%,#10132a,#05060f 72%);border:1px solid var(--js-line);border-radius:18px;overflow:hidden;touch-action:none;margin-bottom:12px}@media (min-width: 620px){.js-stage{aspect-ratio:16 / 11;max-height:58vh}}#js-canvas{display:block;width:100%;height:100%;cursor:grab}#js-canvas:active{cursor:grabbing}.js-terminator-note{position:absolute;top:10px;left:10px;right:10px;margin:0;font-size:11.5px;line-height:1.5;color:#cdd6f0;background:#080a18b8;border:1px solid rgba(120,140,200,.25);border-radius:10px;padding:7px 10px;backdrop-filter:blur(2px);pointer-events:none}.js-terminator-note b{color:var(--js-accent2)}.js-drag-hint{position:absolute;bottom:10px;left:50%;transform:translate(-50%);margin:0;font-size:11px;color:var(--js-sub);background:#080a1899;border-radius:999px;padding:5px 12px;pointer-events:none;white-space:nowrap;max-width:94%;text-align:center}.js-img-note{position:absolute;bottom:10px;right:10px;margin:0;font-size:10.5px;color:var(--js-sub);background:#080a1899;border-radius:8px;padding:4px 8px;pointer-events:none}.js-degrade-note{background:#6ea8ff1a;border:1px solid rgba(110,168,255,.3);border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.6;color:var(--js-text);margin:0 0 12px}.js-panel{background:linear-gradient(160deg,var(--js-panel2),var(--js-panel));border:1px solid var(--js-line);border-radius:16px;padding:14px 16px;margin-bottom:16px}.js-panel-main{display:flex;align-items:center;gap:12px}.js-p-flag{font-size:34px;line-height:1}.js-panel-info{flex:1;min-width:0}.js-panel-info h2{font-size:20px;font-weight:800;margin:0}.js-p-sub{font-size:12px;color:var(--js-sub);margin:2px 0 0}.js-panel-clock{text-align:right}.js-p-time{display:block;font-size:34px;font-weight:800;line-height:1;color:var(--js-accent2);font-variant-numeric:tabular-nums}.js-p-daynight{font-size:13px;color:var(--js-sub)}.js-panel-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-top:10px;padding-top:10px;border-top:1px solid var(--js-line);font-size:13px}.js-p-date{color:var(--js-text)}.js-p-diff{color:var(--js-accent);font-weight:600}.js-table{margin-bottom:8px}.js-table-legend{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-bottom:12px;font-size:11px}.js-lg{color:var(--js-sub)}.js-lg-ok{color:#7be3a4}.js-lg-maybe{color:#ffd166}.js-lg-sleep{color:#6b7699}.js-mute{margin-left:auto;font-size:12px;color:var(--js-sub);background:var(--js-panel);border:1px solid var(--js-line);border-radius:999px;padding:5px 12px;cursor:pointer}.js-mute:hover{background:var(--js-panel2)}.js-region{margin-bottom:14px}.js-region-h{font-size:12px;font-weight:700;color:var(--js-sub);margin:0 0 6px;padding-left:2px;letter-spacing:.04em}.js-region-list{display:flex;flex-direction:column;gap:6px}.js-row{display:grid;grid-template-columns:26px 1fr auto auto auto;align-items:center;gap:10px;width:100%;text-align:left;background:var(--js-panel);border:1px solid var(--js-line);border-left:4px solid var(--js-line);border-radius:10px;padding:8px 12px;color:var(--js-text);cursor:pointer;transition:background .12s ease,border-color .12s ease}.js-row:hover{background:var(--js-panel2)}.js-row.is-sel{border-color:var(--js-accent);background:#6ea8ff1a}.js-row[data-meeting=ok]{border-left-color:#46c882}.js-row[data-meeting=maybe]{border-left-color:#ffd166}.js-row[data-meeting=sleep]{border-left-color:#3a4266}.js-row[data-day="0"]{opacity:.82}.js-r-flag{font-size:18px;text-align:center}.js-r-name{display:flex;flex-direction:column;min-width:0}.js-r-city{font-size:14px;font-weight:700}.js-r-country{font-size:10.5px;color:var(--js-sub)}.js-r-icon{font-size:15px}.js-r-clock{text-align:right}.js-r-time{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}.js-r-date{display:block;font-size:10px;color:var(--js-sub)}.js-r-diff{font-size:12px;font-weight:600;color:var(--js-accent);font-variant-numeric:tabular-nums;min-width:46px;text-align:right}.js-privacy{text-align:center;font-size:11.5px;color:var(--js-sub);margin:16px 0 8px}.js-app.is-2d .js-drag-hint,.js-app.is-2d .js-terminator-note{display:none}
