:root{color-scheme:dark;--ctl:#171f27;--bg:#0f131d;--fg:#e8ebf4;--sub:#8c97b2;--line:#2a3144;--day:#4a3d17;--day-fg:#fff3cc;--day-sub:#d6c07a;--night:#18203a;--night-fg:#eef1ff;--night-sub:#8f9dc4;--accent:#f2c14e}:root[data-theme=light]{color-scheme:light;--ctl:#ffffff;--bg:#f4f5f8;--fg:#1b2030;--sub:#667089;--line:#d9dde7;--day:#fff6dc;--day-fg:#3a2f10;--day-sub:#8a7640;--night:#1f2a44;--night-fg:#f1f4ff;--night-sub:#9aa8cc;--accent:#c98a00}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--fg);font-family:"Segoe UI","Hiragino Sans","Yu Gothic UI","Malgun Gothic","Microsoft YaHei",system-ui,sans-serif;min-height:100vh;display:flex;flex-direction:column}.top{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}.back{color:var(--sub);text-decoration:none;font-size:14px}.back:hover{color:var(--fg)}h1{margin:0;font-size:20px;font-weight:700;flex:1;text-align:center}.ctrl{display:flex;gap:8px;align-items:center}.sup{color:#f2c14e;border:1px solid #f2c14e;border-radius:6px;padding:6px 10px;font-size:14px;text-decoration:none;white-space:nowrap}:root[data-theme=light] .sup{color:#a87500;border-color:#a87500}.sup:hover{background:rgba(242,193,78,.15)}.sup:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card.mine{cursor:default;outline:2px solid var(--accent);outline-offset:-2px}.card.drag{touch-action:none;position:relative;z-index:10;cursor:grabbing;box-shadow:0 10px 28px rgba(0,0,0,.45);opacity:.95;pointer-events:none}body.dragging{cursor:grabbing}.ctrl button,.ctrl select{background:0 0;color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:6px 10px;font:inherit;font-size:14px;cursor:pointer}.ctrl select,.ctrl select option{background:var(--ctl);color:var(--fg)}.back:focus-visible,.ctrl button:focus-visible,.ctrl select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}main{flex:1;padding:20px;width:100%;max-width:1200px;margin:0 auto}.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.card{cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;border-radius:10px;padding:14px 16px;display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:baseline}.card.day{background:var(--day);color:var(--day-fg)}.card.night{background:var(--night);color:var(--night-fg)}.city{font-size:16px;font-weight:700}.off{font-size:12px;text-align:right}.time{grid-column:1/3;font-size:32px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1.2}.date{grid-column:1/3;font-size:13px}.day .date,.day .off{color:var(--day-sub)}.night .date,.night .off{color:var(--night-sub)}.foot{text-align:center;color:var(--sub);font-size:12px;padding:20px 12px 24px}.foot p{margin:4px 0}@media (max-width:600px){.top{padding:10px 12px}.back{order:3}h1{order:4;flex-basis:100%}.ctrl{order:1;margin-left:auto}.grid{grid-template-columns:repeat(2,1fr);gap:8px}.time{font-size:26px}main{padding:12px}}@media (orientation:landscape) and (max-height:500px){.top{padding:6px 12px}h1{order:0;flex-basis:auto;font-size:16px}main{padding:10px 12px}.grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.card{padding:8px 12px}.time{font-size:24px}.foot{padding:12px 12px 36px}}