:root{--ui-scale:1;--bg:#f5f6f8;--surface:#fff;--surface-2:#f0f1f5;--surface-3:#e7e9ef;--border:#e1e4ea;--border-strong:#c9cdd6;--text:#1a1c22;--text-2:#565c6a;--text-3:#8a90a0;--accent:#5457d6;--accent-ink:#fff;--accent-soft:#ecedfc;--accent-text:#4144c2;--danger:#d2415a;--ok:#238a5c;--warn:#b7791f;--fire:#d24a43;--earth:#2f8a57;--air:#b7860b;--water:#2f6fd0;--shadow:0 1px 2px #14161e0f, 0 8px 24px #14161e14;--radius:12px;--radius-sm:8px;--nav-w:212px;--topbar-h:52px;--tap:36px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1014;--surface:#161920;--surface-2:#1d212a;--surface-3:#262b36;--border:#272c37;--border-strong:#3a4150;--text:#e9ebf1;--text-2:#a6adbb;--text-3:#6e7585;--accent:#8d90f6;--accent-ink:#10121a;--accent-soft:#23264a;--accent-text:#b0b3ff;--danger:#f0738a;--ok:#4cc38a;--warn:#e0a84a;--fire:#f0766e;--earth:#5fc08a;--air:#e0b545;--water:#6ea3f5;--shadow:0 1px 2px #0006, 0 8px 24px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1014;--surface:#161920;--surface-2:#1d212a;--surface-3:#262b36;--border:#272c37;--border-strong:#3a4150;--text:#e9ebf1;--text-2:#a6adbb;--text-3:#6e7585;--accent:#8d90f6;--accent-ink:#10121a;--accent-soft:#23264a;--accent-text:#b0b3ff;--danger:#f0738a;--ok:#4cc38a;--warn:#e0a84a;--fire:#f0766e;--earth:#5fc08a;--air:#e0b545;--water:#6ea3f5;--shadow:0 1px 2px #0006, 0 8px 24px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{font-size:calc(16px * var(--ui-scale));-webkit-text-size-adjust:100%;height:100%}body{background:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,Yu Gothic UI,Meiryo,sans-serif;font-size:.9375rem;line-height:1.45}#app{height:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}h1,h2,h3,h4,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.dim{color:var(--text-3)}.small{font-size:.8125rem}.xs{font-size:.75rem}.retro{color:var(--danger);font-weight:600}.el-0{color:var(--fire)}.el-1{color:var(--earth)}.el-2{color:var(--air)}.el-3{color:var(--water)}.shell{grid-template-columns:var(--nav-w) minmax(0, 1fr);grid-template-rows:var(--topbar-h) minmax(0, 1fr) auto;grid-template-areas:"nav top""nav main""nav time";height:100dvh;display:grid}.nav{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;grid-area:nav;gap:2px;min-height:0;padding:10px 10px 12px;display:flex;overflow-y:auto}.brand{letter-spacing:.02em;align-items:center;gap:10px;padding:6px 8px 14px;font-size:1rem;font-weight:700;display:flex}.brand-mark{width:26px;height:26px;color:var(--accent);flex:none}.nav-item{border-radius:var(--radius-sm);min-height:40px;color:var(--text-2);text-align:left;white-space:nowrap;align-items:center;gap:12px;padding:0 10px;font-weight:500;display:flex}.nav-item svg{flex:none}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item[aria-current=page]{background:var(--accent-soft);color:var(--accent-text);font-weight:650}.nav-spacer{flex:1;min-height:8px}.nav-sep{background:var(--border);height:1px;margin:6px 4px}.topbar{background:var(--surface);border-bottom:1px solid var(--border);grid-area:top;align-items:center;gap:8px;min-width:0;padding:0 12px;display:flex}.profile-chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;flex:0 auto;align-items:center;gap:10px;min-width:0;height:38px;padding:0 10px 0 6px;display:flex}.profile-chip:hover{background:var(--surface-2)}.avatar{background:var(--accent-soft);width:26px;height:26px;color:var(--accent-text);border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:700;display:grid}.profile-chip .who{text-align:left;flex-direction:column;min-width:0;line-height:1.15;display:flex}.profile-chip .who b{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:650;overflow:hidden}.profile-chip .who span{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.topbar .grow{flex:1;min-width:0}.topbar .now{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.8125rem;overflow:hidden}.main{grid-area:main;min-width:0;min-height:0;position:relative;overflow:auto;container:main/size}.icon-btn{width:var(--tap);height:var(--tap);color:var(--text-2);border-radius:10px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text)}.icon-btn:disabled{opacity:.4;cursor:default}.btn{min-height:var(--tap);border:1px solid var(--border-strong);background:var(--surface);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:550;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.06)}.btn.danger{color:var(--danger)}.btn.ghost{border-color:#0000}.btn.sm{border-radius:8px;min-height:30px;padding:0 10px;font-size:.8125rem}.btn:disabled{opacity:.5;cursor:default}.seg{background:var(--surface-2);scrollbar-width:none;border-radius:10px;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg button{min-height:calc(var(--tap) - 6px);color:var(--text-2);white-space:nowrap;border-radius:8px;flex:none;padding:0 12px;font-size:.8125rem;font-weight:550}.seg button:hover{color:var(--text)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f}.chip{border:1px solid var(--border-strong);background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:0 11px;font-size:.8125rem;display:inline-flex}.chip:hover{background:var(--surface-2)}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text);font-weight:600}.chips{flex-wrap:wrap;gap:6px;display:flex}.input,.select{min-height:var(--tap);border:1px solid var(--border-strong);background:var(--surface);border-radius:9px;width:100%;min-width:0;padding:0 10px}.select{padding-right:6px}.input:focus,.select:focus{outline:2px solid var(--accent);outline-offset:-1px}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>label,.label{color:var(--text-2);letter-spacing:.02em;font-size:.75rem;font-weight:600}.row{align-items:center;gap:8px;min-width:0;display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.col{flex-direction:column;gap:10px;min-width:0;display:flex}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;min-height:32px;display:inline-flex}.switch input{appearance:none;background:var(--border-strong);cursor:pointer;border-radius:999px;flex:none;width:36px;height:20px;margin:0;transition:background .15s;position:relative}.switch input:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translate(16px)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0}.card-h{color:var(--text-2);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px 6px;font-size:.75rem;font-weight:700;display:flex}.card-b{padding:4px 12px 12px}.card-b.flush{padding:0 0 6px}.page{flex-direction:column;gap:12px;max-width:1500px;margin:0 auto;padding:12px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.panes{grid-template-columns:minmax(0,1fr);gap:12px;min-height:100%;padding:12px;display:grid}.pane-chart{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.pane-side{flex-direction:column;gap:12px;min-width:0;display:flex;container:side/inline-size}.side-cols{flex-direction:column;gap:12px;display:flex}.side-cols>.side-col{display:contents}@container side (width>=700px){.side-cols{grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.side-cols>.side-col{flex-direction:column;gap:12px;min-width:0;display:flex}}.stage{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);height:min(100vw - 24px,100dvh - 210px);min-height:300px;position:relative;overflow:hidden}.stage-scroll{touch-action:pan-x pan-y;overscroll-behavior:contain;display:flex;position:absolute;inset:0;overflow:auto}.stage-scroll svg{-webkit-user-select:none;user-select:none;flex:none;margin:auto;display:block}.stage-tools{background:color-mix(in srgb, var(--surface) 88%, transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;flex-direction:column;gap:4px;padding:3px;display:flex;position:absolute;top:8px;right:8px}.stage-legend{flex-wrap:wrap;gap:2px 14px;padding:0 2px;font-size:.75rem;line-height:1.3;display:flex}.stage-legend .lg{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;display:flex;overflow:hidden}.stage-legend i{border-radius:50%;flex:none;width:8px;height:8px}.stage-empty{color:var(--text-3);place-items:center;display:grid;position:absolute;inset:0}.tbl{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.8125rem}.tbl th{text-align:left;color:var(--text-3);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface);padding:4px 6px;font-size:.6875rem;font-weight:600;position:sticky;top:0}.tbl td{border-bottom:1px solid var(--border);white-space:nowrap;padding:3px 5px}.tbl tr:last-child td{border-bottom:0}.tbl td.name{text-overflow:ellipsis;max-width:7.5rem;overflow:hidden}.tbl td.r,.tbl th.r{text-align:right}.tbl td.c,.tbl th.c{text-align:center}.tbl tbody tr:hover{background:var(--surface-2)}.tbl tr.sel{background:var(--accent-soft)}.tbl .g{vertical-align:-.2rem;width:1.1rem;height:1.1rem}.tbl-wrap{overflow-x:auto}.tbl.roomy td{padding:6px 8px}.glyph{vertical-align:-.2em;flex:none;width:1.15em;height:1.15em;display:inline-block}.agrid{border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.6875rem}.agrid td,.agrid th{border:1px solid var(--border);text-align:center;width:1.625rem;min-width:1.625rem;height:1.625rem;padding:0;line-height:1;position:relative}.agrid th{background:var(--surface-2);color:var(--text-2);font-weight:500}.agrid td.blank{border:0}.agrid .cell{flex-direction:column;justify-content:center;align-items:center;gap:1px;height:100%;display:flex}.agrid .cell .glyph{width:.9rem;height:.9rem}.agrid .cell small{opacity:.85;font-size:.5625rem}.tone-conj{color:var(--text)}.tone-hard{color:var(--fire)}.tone-soft{color:var(--water)}.tone-minor{color:var(--earth)}.tone-creative{color:#9a5bd0}.timebar{background:var(--surface);border-top:1px solid var(--border);padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));flex-wrap:wrap;grid-area:time;align-items:center;gap:10px;min-width:0;display:flex}.timebar .tb-date{text-align:left;border-radius:8px;flex-direction:column;min-width:0;padding:2px 8px;line-height:1.15;display:flex}.timebar .tb-date:hover{background:var(--surface-2)}.timebar .tb-date b{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1rem}.timebar .tb-date span{color:var(--text-2);white-space:nowrap;font-size:.6875rem}.tb-row{display:contents}.tb-now,.tb-cond{min-height:44px}.tb-cond{flex:0 auto;min-width:0}.lbl-short,.only-narrow-flex{display:none}.tb-group{align-items:center;gap:6px;display:flex}.tb-btn{background:var(--surface-2);width:48px;height:48px;color:var(--text);touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:12px;flex:none;place-items:center;display:inline-grid}.tb-btn:hover{background:var(--surface-3)}.tb-btn:active,.tb-btn.event{background:var(--accent-soft);color:var(--accent-text)}.tb-btn.event:hover{filter:brightness(.97)}.tb-btn:disabled{opacity:.4}.tb-step{align-items:center;gap:4px;display:flex}.tb-step .input{text-align:center;width:3.4rem;min-height:40px;padding:0 4px}.tb-step .select{width:auto;min-height:40px}.tb-event-label{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;max-width:14rem;font-size:.6875rem;overflow:hidden}.tb-banner{color:var(--warn);flex-basis:100%;align-items:center;gap:8px;font-size:.75rem;display:flex}.scrim{z-index:40;background:#0a0c126b;animation:.15s ease-out fade;position:fixed;inset:0}.sheet{z-index:41;background:var(--surface);box-shadow:var(--shadow);border-radius:18px 18px 0 0;flex-direction:column;min-height:0;max-height:88dvh;animation:.2s cubic-bezier(.2,.8,.2,1) rise;display:flex;position:fixed;bottom:0;left:0;right:0}.sheet-h{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;padding:12px 12px 8px 16px;display:flex}.sheet-h h2{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:1rem;font-weight:700;overflow:hidden}.sheet-b{padding:14px 16px calc(18px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:16px;min-height:0;display:flex;overflow-y:auto}.sheet-f{padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);flex:none;justify-content:flex-end;gap:8px;display:flex}.section-title{color:var(--text-2);letter-spacing:.04em;margin-bottom:6px;font-size:.75rem;font-weight:700}.list-item{text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 10px;display:flex}.list-item:hover{background:var(--surface-2)}.list-item[aria-current=true]{background:var(--accent-soft)}.list-item .grow{flex:1;min-width:0}.list-item .t1{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.list-item .t2{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.toast{left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));background:var(--text);color:var(--bg);z-index:60;box-shadow:var(--shadow);border-radius:999px;max-width:90vw;padding:8px 14px;font-size:.8125rem;animation:.15s ease-out fade;position:fixed;transform:translate(-50%)}.tooltip{z-index:50;pointer-events:none;background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow);border-radius:10px;max-width:280px;padding:8px 10px;font-size:.8125rem;position:fixed}.tooltip h4{align-items:center;gap:6px;margin-bottom:2px;font-size:.875rem;display:flex}.splash{height:100dvh;color:var(--text-3);place-items:center;display:grid}.spinner{border:2.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}.progress{background:var(--surface-3);border-radius:2px;height:4px;overflow:hidden}.progress>i{background:var(--accent);height:100%;transition:width .1s;display:block}.empty{text-align:center;color:var(--text-3);padding:28px 12px}.kv{grid-template-columns:auto 1fr;gap:2px 12px;font-size:.8125rem;display:grid}.kv dt{color:var(--text-2)}.kv dd{font-variant-numeric:tabular-nums;margin:0}.badge{background:var(--surface-3);height:18px;color:var(--text-2);border-radius:999px;align-items:center;padding:0 6px;font-size:.6875rem;font-weight:650;display:inline-flex}.badge.accent{background:var(--accent-soft);color:var(--accent-text)}.badge.warn{background:color-mix(in srgb, var(--warn) 18%, transparent);color:var(--warn)}.badge.ok{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.badge.bad{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}@keyframes slide{0%{opacity:0;transform:translate(24px)}}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:600px){:root{--nav-w:76px}.nav{align-items:stretch;padding:8px 6px}.brand{justify-content:center;padding:6px 0 10px}.brand span{display:none}.nav-item{text-align:center;flex-direction:column;justify-content:center;gap:2px;min-height:54px;padding:4px 2px;font-size:.625rem}.sheet{border-radius:0;width:min(480px,92vw);max-height:none;animation:.2s cubic-bezier(.2,.8,.2,1) slide;inset:0 0 0 auto}.sheet.wide{width:min(760px,94vw)}.stage{height:min(100vw - 100px,100dvh - 190px)}}@media (min-width:1024px){:root{--nav-w:212px;--tap:34px}.nav{padding:10px 10px 12px}.brand{justify-content:flex-start;padding:6px 8px 14px}.brand span{display:inline}.nav-item{text-align:left;flex-direction:row;justify-content:flex-start;gap:12px;min-height:38px;padding:0 10px;font-size:.875rem}.panes{grid-template-columns:clamp(420px,100cqh - 110px,62cqw) minmax(0,1fr);height:100%;min-height:0}.pane-chart{height:100%}.pane-chart .stage{flex:1;height:auto;min-height:0}.pane-side{min-height:0;padding-right:2px;overflow-y:auto}.tb-btn{width:44px;height:44px}}@media (min-width:1024px) and (max-width:1279px){:root{--nav-w:76px}.nav{padding:8px 6px}.brand{justify-content:center;padding:6px 0 10px}.brand span{display:none}.nav-item{text-align:center;flex-direction:column;justify-content:center;gap:2px;min-height:52px;padding:4px 2px;font-size:.625rem}}@media (max-width:599.98px){:root{--tap:44px;--topbar-h:54px}.shell{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0, 1fr) auto auto;grid-template-areas:"top""main""time""nav"}.nav{border-right:0;border-top:1px solid var(--border);padding:4px 6px calc(4px + env(safe-area-inset-bottom,0px));scrollbar-width:none;flex-direction:row;gap:2px;scroll-padding:0 12px;overflow:auto hidden}.nav::-webkit-scrollbar{display:none}.brand,.nav-spacer,.nav-sep{display:none}.nav-item{flex-direction:column;flex:none;justify-content:center;gap:1px;min-width:62px;min-height:50px;padding:2px 6px;font-size:.625rem}.panes,.page{gap:8px;padding:8px}.timebar{flex-flow:column;align-items:stretch;gap:8px;padding-left:24px;padding-right:24px}.tb-row{justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.tb-row.head{justify-content:space-between}.timebar .tb-date b{font-size:.875rem}.timebar .tb-date span,.lbl-long{display:none}.lbl-short{display:inline}.only-narrow-flex{display:inline-flex}.tb-banner{flex-wrap:wrap;justify-content:center}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar .now{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.only-narrow{display:none}@media (max-width:599.98px){.only-wide{display:none!important}.only-narrow{display:block}}.chart-pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-content:start;gap:10px;display:grid}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);place-items:center;min-width:0;padding:8px;display:grid;position:relative}.chart-card svg{max-width:100%;height:auto;display:block}.chart-card .save{opacity:.55;position:absolute;top:4px;right:4px}.chart-card .save:hover{opacity:1}@media (min-width:1024px){.pane-chart.scrolls{overflow-y:auto}}.bar{background:var(--surface-3);border-radius:4px;min-width:60px;height:8px;overflow:hidden}.bar>i{background:var(--accent);border-radius:4px;height:100%;display:block}.tree{flex-direction:column;display:flex}.tree-row{border-bottom:1px solid var(--border);text-align:left;font-variant-numeric:tabular-nums;align-items:center;gap:8px;width:100%;min-height:36px;padding:2px 8px;display:flex}.tree-row:hover{background:var(--surface-2)}.tree-row.now{background:var(--accent-soft)}.tree-row .tw{width:18px;color:var(--text-3);flex:none;place-items:center;display:grid}.tree-row .tl{min-width:5.5rem;font-weight:650}.tree-row .td{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8125rem;overflow:hidden}.tree-row .ta{color:var(--text-3);white-space:nowrap;font-size:.75rem}.wx-0{color:var(--earth)}.wx-1{color:var(--fire)}.wx-2{color:var(--air)}.wx-3{color:var(--text-2)}.wx-4{color:var(--water)}.pillars{border-collapse:collapse;text-align:center;table-layout:fixed;width:100%}.pillars th,.pillars td{border:1px solid var(--border);padding:5px 4px}.pillars th{background:var(--surface-2);color:var(--text-2);font-size:.75rem;font-weight:600}.pillars th.rowh{width:4.2rem}.pillars .gz{font-size:1.75rem;font-weight:700;line-height:1.15}.pillars td.daycol{background:var(--accent-soft)}.pillars .hid{flex-direction:column;gap:1px;font-size:.8125rem;display:flex}.zw-board{border:1px solid var(--border-strong);background:var(--surface);aspect-ratio:1/1.12;border-radius:10px;grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-height:100%;display:grid;overflow:hidden}.zw-cell{border:.5px solid var(--border);text-align:left;flex-direction:column;gap:2px;min-width:0;min-height:0;padding:4px 5px 3px;font-size:.75rem;line-height:1.25;display:flex;position:relative;overflow:hidden}.zw-cell:hover{background:var(--surface-2)}.zw-cell.life{box-shadow:inset 0 0 0 2px var(--accent)}.zw-cell.tri{background:var(--accent-soft)}.zw-cell.sel{background:color-mix(in srgb, var(--accent) 22%, var(--surface))}.zw-stars{flex-wrap:wrap;flex:1;align-content:flex-start;gap:1px 5px;min-height:0;display:flex;overflow:hidden}.zw-star.major{color:var(--accent-text);font-size:.875rem;font-weight:800}.zw-star.lucky{color:var(--ok);font-weight:650}.zw-star.harsh{color:var(--danger);font-weight:650}.zw-star.minor{color:var(--text-3);font-size:.6875rem}.zw-hua{color:#fff;vertical-align:1px;border-radius:3px;margin-left:1px;padding:0 2px;font-size:.625rem;font-weight:800;display:inline-block}.zw-hua.h0{background:var(--ok)}.zw-hua.h1{background:var(--fire)}.zw-hua.h2{background:var(--water)}.zw-hua.h3{background:#4b5563}.zw-hua.flow{opacity:.8;outline:1px dashed var(--surface)}.zw-foot{color:var(--text-2);white-space:nowrap;justify-content:space-between;align-items:flex-end;gap:4px;font-size:.6875rem;display:flex}.zw-foot b{color:var(--text);font-size:.8125rem}.zw-tags{gap:2px;display:flex;position:absolute;top:3px;right:3px}.zw-center{border:.5px solid var(--border);flex-direction:column;grid-area:2/2/4/4;justify-content:center;gap:4px;min-width:0;padding:8px 10px;font-size:.8125rem;display:flex;overflow:hidden}@media (max-width:599.98px){.zw-board{aspect-ratio:1/1.45}.zw-cell{padding:3px 3px 2px;font-size:.6875rem}.zw-star.major{font-size:.75rem}.zw-star.minor{font-size:.5625rem}.zw-center{padding:4px 6px;font-size:.6875rem}}@media (min-width:1024px){.zw-cell{padding:6px 7px 5px;font-size:.8125rem}.zw-star.major{font-size:1.0625rem}.zw-star.lucky,.zw-star.harsh{font-size:.875rem}.zw-star.minor{font-size:.75rem}.zw-center{gap:6px;font-size:.9375rem}}.cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.cal-h{text-align:center;color:var(--text-2);padding:2px 0;font-size:.75rem;font-weight:700}.sun{color:var(--fire)}.sat{color:var(--water)}.cal-d{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:8px;flex-direction:column;gap:2px;min-width:0;min-height:74px;padding:4px 5px;font-size:.8125rem;display:flex}.cal-d.empty{background:0 0;border-color:#0000}.cal-d:not(.empty):hover{border-color:var(--border-strong)}.cal-d.sel{outline:2px solid var(--accent);outline-offset:-1px}.cal-d.today b{background:var(--accent);border-radius:999px;padding:0 6px;color:var(--accent-ink)!important}.cal-d.lv1{background:color-mix(in srgb, var(--warn) 9%, var(--surface))}.cal-d.lv2{background:color-mix(in srgb, var(--danger) 10%, var(--surface))}.cal-d.lv3{background:color-mix(in srgb, var(--danger) 22%, var(--surface))}.cal-sub{color:var(--text-3);white-space:nowrap;justify-content:space-between;gap:2px;font-size:.625rem;display:flex;overflow:hidden}.cal-ev{flex-wrap:wrap;align-items:center;gap:2px;min-width:0;margin-top:auto;font-size:.6875rem;display:flex}.cal-ev .glyph{width:.85rem;height:.85rem}.cal-ev .badge{height:15px;padding:0 4px;font-size:.5625rem}@media (max-width:599.98px){.cal-d{min-height:62px;padding:3px;font-size:.75rem}.cal-sub{flex-direction:column;gap:0}.tbl.roomy td,.tbl td.small{white-space:normal}}.cal2{flex-direction:column;gap:3px;display:flex}.cal2-head{text-align:center;color:var(--text-2);grid-template-columns:repeat(7,minmax(0,1fr));font-size:.75rem;font-weight:700;display:grid}.cal2-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:0 3px;display:grid;position:relative}.cal2-day{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:8px;flex-direction:column;grid-row:1;gap:1px;min-width:0;min-height:98px;padding:4px 5px;font-size:.8125rem;display:flex;position:relative}.cal2-day.empty{background:0 0;border-color:#0000}.cal2-day.sel{outline:2px solid var(--accent);outline-offset:-1px}.cal2-day.heavy{background:color-mix(in srgb, var(--danger) 13%, var(--surface))}.cal2-day.today b{background:var(--accent);border-radius:999px;padding:0 6px;color:var(--accent-ink)!important}.cal2-more{color:var(--text-3);font-size:.625rem;position:absolute;bottom:2px;right:4px}.cal2-bar{white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:1;color:#fff;border-radius:4px;align-self:start;height:13px;margin-left:3px;margin-right:3px;padding:0 4px;font-size:.5625rem;font-weight:650;line-height:13px;overflow:hidden}.cal2-bar.legend{height:16px;margin:0;font-size:.6875rem;line-height:16px;display:inline-block}.cal2-bar.heavy{background:#b91c1c}.cal2-bar.danger{background:#e05252}.cal2-bar.attention{background:#e0912f}.cal2-bar.zr{background:#7c3aed}.cal2-bar.bazi{background:#0e7490}.cal2-bar.benefic{background:#2f8a57}@media (max-width:599.98px){.cal2-day{min-height:92px;padding:3px;font-size:.75rem}.cal2-bar{margin-left:1px;margin-right:1px;padding:0 2px;font-size:.5rem}.cal2 .cal-sub{flex-direction:row}.cal2 .cal-sub span:last-child{display:none}}.linkish{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 0 0 4px;text-decoration:underline}.stage.mapstage{aspect-ratio:3/2;height:auto}@media (max-width:599px){.stage.mapstage{aspect-ratio:4/3}}.starpick{padding:8px 12px}.starpick>summary{cursor:pointer;font-size:14px;font-weight:600;list-style-position:inside}@media (min-width:1024px){.pane-chart .starpick{flex:none;max-height:34%;overflow-y:auto}}
