:root{--bg:#f3f4f6;--panel:#fff;--ink:#111827;--line:#d1d5db;--active:#0f766e}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif}.app-root{flex-direction:column;height:100dvh;display:flex;overflow:auto}.legal-footer{text-align:center;text-align:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;gap:6px;margin:10px 0 0;font-size:10px;display:inline-flex}.legal-footer a{color:#4b5563;text-decoration:none}.legal-footer a:hover{text-decoration:underline}html{height:100%}.page{flex-direction:column;flex:1;width:100%;min-width:600px;min-height:800px;padding:16px;display:flex;overflow:hidden}.connect-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;max-width:720px;margin:40px auto;padding:20px}.connect-panel h1{margin:0 0 8px;font-size:24px}.connect-panel p{margin:0 0 12px}.loading-panel{text-align:center}.header{background:var(--panel);border:1px solid var(--line);z-index:20;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex;position:sticky;top:0}.app-brand{flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0;margin-right:auto;display:flex}.app-title{margin:0;font-size:20px;font-weight:700;line-height:31px}.app-title>span{vertical-align:middle}.app-title-icon{vertical-align:middle;border-radius:6px;flex:none;width:28px;height:28px;margin-right:.2em;padding:2px}.app-copy{color:#4b5563;margin:0;font-size:12px}.header-buttons{align-items:center;gap:8px;display:flex}.header-buttons>.icon-button{height:30px}.header-buttons>.icon-button>svg{width:16px;height:16px}.header-buttons>.refetch-button{gap:2px;width:auto;min-width:0;padding:0 10px}.header-buttons>.refetch-button>span{white-space:nowrap;font-size:12px}button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:8px 12px}.icon-button{justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.icon-button svg{width:18px;height:18px}.icon-button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.icon-button:disabled{color:#9ca3af;cursor:not-allowed;background:#e5e7eb}.icon-button.is-spinning svg{animation:.9s linear infinite spin}.calendar-picker{flex-direction:column;gap:6px;margin-top:8px;display:flex}.calendar-accordion{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-top:8px;padding:8px 10px}.calendar-accordion summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px}.calendar-row{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:8px;grid-template-columns:20px 1fr 24px;align-items:center;gap:8px;padding:8px 10px;display:grid}.calendar-row.enabled{border-color:#9ca3af}.calendar-row:not(.enabled){opacity:.7}.calendar-dot{justify-content:center;align-items:center;display:inline-flex}.calendar-dot svg{width:12px;height:12px}.calendar-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-eye{color:#4b5563;justify-content:center;align-items:center;display:inline-flex}.timeline{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0;margin-top:10px;display:grid}.timeline-wrap{flex:1;grid-template-columns:auto 1fr auto;align-items:stretch;gap:8px;min-height:0;margin-top:10px;display:grid}.timeline-wrap .timeline{margin-top:0}.side-layer-nav{flex-direction:column;height:100%;display:flex}.side-layer-nav-label{letter-spacing:3px;color:#4b5563;text-align:center;white-space:normal;width:160px;font-size:12px;line-height:1.2;display:inline-block}.side-layer-nav-left .side-layer-nav-label{text-align:right;transform:rotate(-90deg)translate(-80px)}.side-layer-nav-right .side-layer-nav-label{text-align:left;transform:rotate(90deg)translate(80px)}.column{background:var(--panel);border:1px solid var(--line);flex-direction:column;height:100%;min-height:0;padding:8px;display:flex}.column h3{margin:0 0 8px;font-size:14px}.column-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.column-head h3{margin:0}.column-title-nav{align-items:center;gap:6px;min-width:0;display:flex}.column-title-nav h3{white-space:nowrap;text-align:center;text-overflow:ellipsis;margin:0 0 0 1em;overflow:hidden}.icon-button.compact{width:28px;height:28px}.icon-button.compact svg{width:14px;height:14px}.items{flex-direction:column;flex:1;gap:6px;min-height:0;margin-top:8px;display:flex;overflow:auto}.items-segmented{grid-template-rows:repeat(var(--segment-count),minmax(96px,1fr));align-content:start;gap:0;display:grid}.segment{border-left:1px solid var(--line);border-right:1px solid var(--line);border-top:1px solid var(--line);cursor:pointer;border-bottom:0;border-radius:8px;flex-direction:column;min-height:96px;padding:6px;display:flex}.items-segmented .segment:last-child{border-bottom:1px solid var(--line)}.segment.active{border-color:var(--active);box-shadow:0 0 0 1px var(--active)inset}.segment-title{margin-bottom:6px;font-size:12px;font-weight:600}.segment-head{justify-content:space-between;align-items:center;gap:6px;margin-bottom:6px;display:flex}.segment-head .segment-title{margin-bottom:0}.segment-items{flex-direction:column;gap:6px;min-height:0;display:flex;overflow:auto}.item{background:#e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px;font-size:12px;display:flex}.item-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.item-actions{align-items:center;gap:6px;display:inline-flex}.item-edit-button,.item-delete-button{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:inline-flex}.item-edit-button:hover,.item-delete-button:hover{opacity:1}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.popup-backdrop{z-index:100;background:#00000073;place-items:center;display:grid;position:fixed;inset:0}.popup{border:1px solid var(--line);background:#fff;border-radius:12px;width:min(420px,90vw);padding:16px}.popup h2{margin:0 0 8px;font-size:18px}.popup p{margin:0}.popup-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.hint{opacity:.8;margin:8px 0 0;font-size:12px}@media (max-width:600px){.column-title-nav h3{margin-left:0;font-size:12px}.calendar-row{grid-template-columns:16px 1fr 20px;padding:6px 8px}}
