/* Layout: 背景の写真はそのまま鮮明に見せ、パネルの内側だけをすりガラスでぼかす。細い白線で縁取り、配色は写真から自動で決める。 */
html:root { color-scheme: dark; }
:root {
  --ink: #fff;
  --ink-2: rgba(255,255,255,.9);
  --ink-3: rgba(255,255,255,.78);
  --edge: rgba(255,255,255,.58);
  --edge-soft: rgba(255,255,255,.32);
  --edge-faint: rgba(255,255,255,.16);
  --tint: 62 42 36;
  --glass-a: .56;
  --glass: rgb(var(--tint) / var(--glass-a));
  /* ガラスの濃さスライダーで変わる値（透明に寄せるほど、ぼかし・ツヤ・縁の光を少し強めてガラス感を保つ） */
  --blur: 22px;
  --sat: 1.1;
  --sheen: .08;
  --hi: .26;
  --glass-edge: rgba(255,255,255,.32);
  --halo: 0;
  --glass-inner: rgba(255,255,255,.06);
  --clay-1: #d4977c;
  --clay-2: #a8644c;
  --on-clay: #fff;
  --on-clay-shadow: 0 1px 2px rgba(40,20,14,.45);
  --plate: 22 15 13;
  --fill-1: #f3c9b3;
  --tone-0: #ecc3ae; --tone-1: #dcae96; --tone-2: #cdb592; --tone-3: #e6c9b8; --tone-4: #bfa08c; --tone-5: #d8aaa4;
  --ok: #c4f0d2;
  --warn: #ffe2ad;
  --crit: #ffc4b8;
  --sun: #ffd3c8;
  --sat-c: #d4e2ff;
  --r-card: 28px;
  --r-in: 18px;
  --font: 'Poppins','Noto Sans JP','Hiragino Sans','Yu Gothic UI','Yu Gothic',system-ui,sans-serif;
  --shadow: 0 18px 44px -26px rgba(20,10,8,.55);
}
html, body { margin: 0; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body {
  background: #8d6a5b;
  color: var(--ink);
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.65;
  min-height: 100%;
  padding-inline: clamp(16px, 3vw, 32px);
  padding-block: 20px 48px;
}
h1, h2, h3, p, ul { margin: 0; }
ul { padding: 0; list-style: none; }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 1.5px solid #fff; outline-offset: 2px; }

/* ---------- background: 写真は鮮明なまま ---------- */
.bg { position: fixed; inset: 0; z-index: -1; background-color: #8d6a5b; background-size: cover; background-position: center; background-repeat: no-repeat; }

/* ---------- glass: 枠の中だけぼかす ---------- */
.glass {
  background: linear-gradient(145deg, rgb(255 255 255 / var(--sheen)), rgba(255,255,255,0) 42%), var(--glass);
  -webkit-backdrop-filter: blur(var(--blur)) saturate(var(--sat));
  backdrop-filter: blur(var(--blur)) saturate(var(--sat));
  border: 1px solid var(--glass-edge);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / var(--hi)), inset 0 0 0 .5px rgb(255 255 255 / calc(var(--hi) * .35)), var(--shadow);
}
/* 透明に寄せたときだけ、文字のまわりにごく淡い影を足して読みやすさを保つ */
body { text-shadow: 0 1px 2px rgb(var(--tint) / var(--halo)), 0 0 10px rgb(var(--tint) / calc(var(--halo) * .7)); }

/* ---------- shell ---------- */
.shell { max-width: 1500px; margin-inline: auto; }
.topbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 12px; margin-bottom: 18px; }
:root { --logo: url(data:image/png;base64,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); }
/* ロゴ（白）は黒いガラスの台に載せる。台の濃さもマイページの「ガラスの濃さ」スライダーに連動 */
.glass.logo-plate { background: linear-gradient(145deg, rgb(255 255 255 / var(--sheen)), rgba(255,255,255,0) 42%), rgb(var(--plate) / calc(var(--glass-a) * 1.05 + .04)); }
.brand { display: flex; align-items: center; padding: 9px 24px; border-radius: 999px; }
.brand-logo, .gate-logo-img { display: block; background: var(--logo) center / contain no-repeat; aspect-ratio: 1100 / 267; filter: drop-shadow(0 1px 2px rgb(var(--tint) / var(--halo))) drop-shadow(0 0 8px rgb(var(--tint) / calc(var(--halo) * .7))); }
.brand-logo { height: 40px; }
@media (max-width: 560px) { .brand { padding: 8px 20px; } .brand-logo { height: 34px; } }
.tabs { display: flex; gap: 4px; padding: 4px; border-radius: 999px; }
.tab { min-height: 36px; padding: 0 20px; border-radius: 999px; border: 1px solid transparent; background: transparent; font-size: 13px; letter-spacing: .04em; }
.tab[aria-current="page"] { border-color: var(--edge); background: rgba(255,255,255,.14); }
.top-right { display: flex; align-items: center; gap: 12px; padding: 4px 4px 4px 18px; border-radius: 999px; color: var(--ink-2); white-space: nowrap; }
.me-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 14px 0 4px; border-radius: 999px; border: 1px solid var(--edge-soft); background: transparent; }
.me-chip:hover { background: rgba(255,255,255,.12); }

.layout { display: grid; grid-template-columns: minmax(216px, 244px) minmax(0, 1fr); gap: 18px; align-items: start; }

/* ---------- gate (login) ---------- */
.gate { min-height: calc(100dvh - 40px); display: grid; place-items: center; }
.gate-card { width: min(460px, 100%); border-radius: 44px; padding: 40px 34px 34px; display: grid; gap: 16px; border-color: var(--edge); }
.gate-logo { justify-self: start; display: inline-flex; padding: 11px 24px; border-radius: 999px; margin-bottom: 4px; }
.gate-logo-img { height: 46px; }
.gate-card h1 { font-size: 30px; font-weight: 400; letter-spacing: .02em; line-height: 1.2; }
.gate-sub { color: var(--ink-2); font-size: 14px; }
.gate-note { color: var(--ink-3); font-size: 12.5px; }
.pick-list { display: grid; gap: 8px; max-height: 260px; overflow: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.4) transparent; }
.pick { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; min-height: 48px; padding: 6px 14px 6px 8px; border-radius: 999px; border: 1px solid var(--edge-soft); background: rgba(255,255,255,.05); }
.pick:hover { background: rgba(255,255,255,.14); border-color: var(--edge); }
.divider { display: flex; align-items: center; gap: 12px; color: var(--ink-3); font-size: 12px; }
.divider::before, .divider::after { content: ""; flex: 1; height: 1px; background: var(--edge-faint); }
.gate-card form { display: grid; gap: 10px; }

/* ---------- link collection ---------- */
.side { position: sticky; top: 16px; max-height: calc(100dvh - 32px); display: flex; flex-direction: column; border-radius: var(--r-card); padding: 18px 10px 12px; }
.side-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-inline: 6px; margin-bottom: 14px; }
.side-actions { display: flex; align-items: center; gap: 8px; }
.side-body { display: flex; flex-direction: column; gap: 12px; min-height: 0; flex: 1; }
.groups { overflow: auto; min-height: 0; flex: 1; padding-right: 2px; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.4) transparent; display: flex; flex-direction: column; gap: 6px; }
.group > summary { list-style: none; display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 14px; cursor: pointer; font-size: 12px; letter-spacing: .08em; color: var(--ink-3); }
.group > summary::-webkit-details-marker { display: none; }
.group > summary svg { margin-left: auto; transition: transform .2s; }
.group:not([open]) > summary svg { transform: rotate(-90deg); }
.g-count { font-size: 11px; padding: 0 8px; border-radius: 999px; border: 1px solid var(--edge-soft); }
.link-row { display: flex; align-items: center; gap: 4px; border-radius: 18px; }
.link-row:hover { background: rgba(255,255,255,.1); }
.link { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; padding: 7px 8px; border-radius: 16px; color: inherit; text-decoration: none; }
.link .tile-ico { width: 32px; height: 32px; border-radius: 11px; }
.link-name { font-size: 13px; }
.tile-ico { flex: none; width: 38px; height: 38px; border-radius: 13px; display: grid; place-items: center; background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.07)); border: 1px solid var(--edge-soft); }
.link-text { min-width: 0; display: flex; flex-direction: column; line-height: 1.35; }
.link-name { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.link-host { font-size: 11px; color: var(--ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.edit { flex: none; width: 30px; height: 30px; border-radius: 50%; border: 0; background: transparent; display: grid; place-items: center; opacity: 0; transition: opacity .15s; }
.link-row:hover .edit, .edit:focus-visible { opacity: 1; }
@media (hover: none) { .edit { opacity: .7; } }
.hint { font-size: 11px; color: var(--ink-3); padding-inline: 8px; }
.icon-btn.links-toggle { display: none; }

/* ---------- controls ---------- */
.field { width: 100%; min-height: 44px; padding: 8px 16px; border-radius: var(--r-in); background: rgba(255,255,255,.05); border: 1px solid var(--edge); color: var(--ink); }
.field::placeholder { color: rgba(255,255,255,.76); }
select.field option { background: #3b2a25; color: #fff; }
input[type="date"].field { min-width: 0; }
.search { position: relative; display: block; }
.search svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); opacity: .9; pointer-events: none; }
.search .field { padding-left: 42px; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 0 22px; border-radius: var(--r-in); border: 0;
  font-weight: 500; letter-spacing: .03em; color: var(--on-clay); text-shadow: var(--on-clay-shadow);
  background: linear-gradient(180deg, var(--clay-1), var(--clay-2));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 8px 18px -10px rgba(30,14,10,.7);
}
.btn:hover { filter: brightness(1.06); }
.btn:disabled { opacity: .55; cursor: default; }
.btn-sm { min-height: 38px; padding: 0 16px; border-radius: 16px; }
.btn-ghost { min-height: 44px; padding: 0 18px; border-radius: var(--r-in); background: transparent; border: 1px solid var(--edge-soft); font-weight: 400; }
.btn-ghost:hover { background: rgba(255,255,255,.12); }
.btn-ghost.danger { border-color: rgba(255,196,184,.7); color: var(--crit); }
.icon-btn { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--edge-soft); background: transparent; display: grid; place-items: center; }
.icon-btn:hover { background: rgba(255,255,255,.12); }
.chip { min-height: 34px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--edge-soft); background: transparent; font-size: 13px; }
.chip[aria-pressed="true"] { background: rgba(255,255,255,.92); border-color: #fff; color: #4a3029; font-weight: 500; }
.chip small { font-size: 11px; opacity: .8; margin-left: 4px; }
.x-btn { flex: none; min-width: 28px; height: 28px; padding: 0 6px; border-radius: 999px; border: 0; background: transparent; display: grid; place-items: center; color: var(--ink-3); font-size: 11px; opacity: 0; transition: opacity .15s; }
li:hover > .x-btn, .task:hover .x-btn, .ev:hover .x-btn, .x-btn:focus-visible, .x-btn.armed { opacity: 1; }
.x-btn.armed { color: var(--crit); border: 1px solid rgba(255,196,184,.7); }
@media (hover: none) { .x-btn { opacity: .6; } }
.readonly .needs-write { display: none !important; }

/* ---------- board ---------- */
.board { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; }
.board-title { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.title-pill { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 8px 20px; border-radius: 999px; }
.board-title h1, .page-title { font-size: 20px; font-weight: 500; letter-spacing: .04em; }
.badge { font-size: 12px; padding: 1px 12px; border-radius: 999px; border: 1px solid var(--edge-soft); color: var(--ink-2); }
.stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 18px; }
.tile { border-radius: var(--r-card); padding: 20px 24px; display: flex; flex-direction: column; gap: 6px; }
.t-label { font-size: 13px; color: var(--ink-2); }
.t-num { font-size: 44px; font-weight: 300; line-height: 1.05; font-variant-numeric: tabular-nums; }
.t-num small { font-size: 18px; margin-left: 2px; }
.t-sub { font-size: 12px; color: var(--ink-3); }
.panel { border-radius: var(--r-card); padding: 22px 22px 20px; min-width: 0; }
.panel-h { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.panel-h h2 { font-size: 16px; font-weight: 500; letter-spacing: .04em; }
.sub { font-size: 12px; color: var(--ink-3); }
.p-members, .addbar, .p-plan, .p-news { grid-column: 1 / -1; }
.p-members .panel-h { flex-wrap: wrap; }
.p-members .legend { margin: 4px 0 0; }
@media (max-width: 560px) {
  .stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .tile { padding: 14px; border-radius: 24px; }
  .t-label { font-size: 12px; }
  .t-num { font-size: 32px; }
  .t-sub { display: none; }
  .panel { padding: 18px 16px 16px; }
  .gate-card { padding: 30px 22px 26px; border-radius: 34px; }
}
@media (max-width: 1000px) {
  .layout { grid-template-columns: minmax(0, 1fr); }
  /* 1列に積むときも、お知らせを一番上に（リンク集より前）出す */
  .board { display: contents; }
  .p-news { order: -1; }
  .side { position: static; max-height: none; }
  .side.collapsed .side-body { display: none; }
  .side.collapsed .side-head { margin-bottom: 0; }
  .icon-btn.links-toggle { display: grid; }
  .groups { max-height: 56vh; }
}

/* progress bars */
.bar { display: flex; height: 6px; border-radius: 999px; background: rgba(255,255,255,.18); overflow: hidden; }
.seg { height: 100%; transition: width .35s ease; }
.seg.done { background: linear-gradient(90deg, var(--fill-1), var(--clay-1)); }
.seg.doing { background: rgba(255,255,255,.62); }
.legend { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12px; color: var(--ink-2); margin-bottom: 14px; }
.legend span { display: inline-flex; align-items: center; gap: 6px; }
.legend i { width: 12px; height: 6px; border-radius: 4px; display: block; }
.legend .l-done { background: linear-gradient(90deg, var(--fill-1), var(--clay-1)); }
.legend .l-doing { background: rgba(255,255,255,.62); }
.legend .l-todo { background: rgba(255,255,255,.18); border: 1px solid var(--edge-soft); }

/* avatar */
.avatar { flex: none; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; overflow: hidden; font-weight: 500; color: #3c2a24; border: 1px solid rgba(255,255,255,.7); font-size: 14px; }
.avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.avatar.sm { width: 22px; height: 22px; font-size: 11px; }
.avatar.xs { width: 28px; height: 28px; font-size: 12px; }
.avatar.lg { width: 96px; height: 96px; font-size: 36px; border-width: 1.5px; }

/* members: 担当者ごとのカード。バーの下にその人のタスクを並べる */
.mcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); gap: 12px; align-items: start; }
.mcard { border-radius: var(--r-in); background: var(--glass-inner); border: 1px solid var(--edge-faint); padding: 14px 12px 10px 14px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.mcard.is-me { border-color: var(--edge-soft); background: rgba(255,255,255,.1); }
.mc-head { display: flex; align-items: center; gap: 12px; padding-right: 2px; }
.mtasks { display: grid; gap: 2px; }
.mt { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 5px 2px 5px 0; border-radius: 12px; }
.mt .status { min-width: 62px; min-height: 28px; padding: 0 10px; font-size: 12px; }
.mt-body { display: flex; flex-direction: column; min-width: 0; }
.mt-title { font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.mt-due { font-size: 11px; color: var(--ink-3); }
.mt[data-st="done"] .mt-title { text-decoration: line-through; color: var(--ink-3); }
.mt:hover > .x-btn { opacity: 1; }
.m-none { font-size: 12px; color: var(--ink-3); padding: 2px 0 4px; }
.mdone { border-top: 1px solid var(--edge-faint); padding-top: 6px; }
.mdone > summary { list-style: none; cursor: pointer; font-size: 12px; color: var(--ink-3); display: flex; align-items: center; gap: 6px; padding: 2px 0; }
.mdone > summary::-webkit-details-marker { display: none; }
.mdone > summary svg { transition: transform .2s; }
.mdone:not([open]) > summary svg { transform: rotate(-90deg); }

/* タスク追加のバー */
.addbar { display: grid; grid-template-columns: auto minmax(0, 1fr) 150px auto; align-items: center; gap: 8px; padding: 10px 10px 10px 20px; border-radius: 26px; }
.addbar-label { font-size: 13px; font-weight: 500; letter-spacing: .04em; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; }
.addbar .field { min-height: 40px; padding: 4px 14px; font-size: 13px; border-radius: 16px; }
.addbar .btn { min-height: 40px; padding: 0 20px; border-radius: 16px; }
@media (max-width: 760px) {
  .addbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 14px; border-radius: 24px; }
  .addbar-label, .addbar #newTask { grid-column: 1 / -1; }
}
/* 担当者（複数・全員） */
.who-pick { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.wp-label { font-size: 12px; color: var(--ink-2); margin-right: 2px; }
.wp-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 12px 0 5px; font-size: 12.5px; }
.wp-chip > svg { margin-left: 5px; }
.wp-chip .avatar { width: 22px; height: 22px; font-size: 10px; }
.addbar .who-pick { grid-row: 2; grid-column: 2 / -1; }
@media (max-width: 760px) { .addbar .who-pick { grid-row: auto; grid-column: 1 / -1; order: 1; } .addbar #newDue, .addbar .btn { order: 2; } }
.av-stack { display: inline-flex; align-items: center; }
.av-stack .avatar { width: 18px; height: 18px; font-size: 9.5px; margin-left: -5px; box-shadow: 0 0 0 1px rgb(var(--tint) / .7); }
.av-stack .avatar:first-child { margin-left: 0; }
.mt-co { display: inline-flex; align-items: center; gap: 4px; align-self: flex-start; font-size: 11px; color: var(--ink-2); }


/* 講座・イベント ＋ カレンダー（同じ枠） */
.plan { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px; }
.plan-col { min-width: 0; }
.plan-cal { border-left: 1px solid var(--edge-faint); padding-left: 24px; }
.plan .events { grid-template-columns: minmax(0, 1fr); }
.cd-list { display: grid; gap: 12px; }
.ev.cd.is-sel { border-color: var(--edge); background: rgba(255,255,255,.1); }
.ev.cd.is-past { opacity: .72; }
.ev-when { font-size: 12.5px; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.ev .ag-meta { margin-top: -4px; }
.cd-more { justify-self: start; }
.cd-note { font-size: 12px; color: var(--ink-3); padding: 0 2px; }
/* チェック項目 ⇄ タスク */
.st-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.st-body label { flex: none; }
.st-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 11.5px; color: var(--ink-2); }
.st-meta .who { display: inline-flex; align-items: center; gap: 5px; }
.st-meta .avatar { width: 18px; height: 18px; font-size: 10px; }
.st-meta .pill { padding: 0 8px; font-size: 10.5px; }
.st-assign { flex: none; display: inline-flex; align-items: center; gap: 4px; min-height: 26px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--edge-faint); background: transparent; font-size: 11.5px; color: var(--ink-2); }
.st-assign:hover, .st-assign[aria-expanded="true"] { background: rgba(255,255,255,.12); border-color: var(--edge-soft); color: var(--ink); }
.steps li.st-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; padding: 10px; margin-left: 28px; border-radius: 14px; background: var(--glass-inner); border: 1px solid var(--edge-faint); }
.st-form-h { grid-column: 1 / -1; font-size: 12px; color: var(--ink-2); }
.st-form .who-pick { grid-column: 1 / -1; }
.st-form .field { min-height: 36px; padding: 4px 12px; font-size: 13px; border-radius: 12px; }
.st-form-btns { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; }
.st-form-btns .btn, .st-form-btns .btn-ghost { min-height: 34px; padding: 0 14px; border-radius: 12px; font-size: 13px; }
.ev-tag { display: inline-flex; align-items: center; gap: 4px; align-self: flex-start; max-width: 100%; font-size: 11px; line-height: 1.6; color: var(--ink-2); padding: 0 8px; border: 1px solid var(--edge-faint); border-radius: 999px; white-space: nowrap; overflow: hidden; }
.ev-tag svg { flex: none; }
.ev-tag span { overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 560px) { .steps li.st-form { margin-left: 0; grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 1100px) {
  .plan { grid-template-columns: minmax(0, 1fr); }
  .plan-cal { border-left: 0; padding-left: 0; border-top: 0; padding-top: 0; border-bottom: 1px solid var(--edge-faint); padding-bottom: 20px; order: -1; }
}
.cal-nav { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; justify-content: flex-end; }
.cal-month { font-size: 14px; font-weight: 500; min-width: 6.8em; text-align: center; font-variant-numeric: tabular-nums; }
.cal-nav .icon-btn { width: 32px; height: 32px; }
.cal-nav .chip { min-height: 32px; padding: 0 12px; font-size: 12px; }
.cal-open { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--ink-2); text-decoration: none; border-bottom: 1px solid var(--edge-soft); }
.cal-open:hover { color: var(--ink); border-color: var(--edge); }
.cal-frame { border-radius: 18px; border: 1px solid var(--edge-faint); overflow: hidden; }
.cal-dows, .cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.cal-dows span { font-size: 11px; color: var(--ink-3); text-align: center; padding: 6px 0; border-bottom: 1px solid var(--edge-faint); }
.cal-dows .sun, .cal-day.sun .dn { color: var(--sun); }
.cal-dows .sat, .cal-day.sat .dn { color: var(--sat-c); }
.cal-day { appearance: none; background: transparent; border: 0; border-right: 1px solid var(--edge-faint); border-bottom: 1px solid var(--edge-faint); min-height: 68px; padding: 5px; text-align: left; display: flex; flex-direction: column; gap: 3px; min-width: 0; color: inherit; cursor: pointer; }
.cal-day:nth-child(7n) { border-right: 0; }
.cal-day.last-row { border-bottom: 0; }
.cal-day:hover { background: rgba(255,255,255,.08); }
.cal-day[aria-pressed="true"] { background: rgba(255,255,255,.16); }
.cal-day.out { opacity: .42; }
.dn { font-size: 12px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; font-variant-numeric: tabular-nums; flex: none; }
.cal-day.today .dn { background: #fff; color: rgb(var(--tint)); font-weight: 500; text-shadow: none; }
.ce { display: block; font-size: 10.5px; line-height: 1.4; padding: 1px 5px; border-radius: 6px; background: rgba(255,255,255,.16); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.ce.allday { background: linear-gradient(90deg, var(--clay-1), var(--clay-2)); color: var(--on-clay); text-shadow: var(--on-clay-shadow); }
.ce-more { font-size: 10px; color: var(--ink-3); padding-left: 4px; }
.cdots { display: none; gap: 3px; justify-content: center; }
.cdots i { width: 5px; height: 5px; border-radius: 50%; background: rgba(255,255,255,.85); display: block; }
.plan-cal .panel-h { flex-wrap: wrap; }
@media (max-width: 560px) {
  .cal-nav { width: 100%; justify-content: space-between; }
  .cal-day { min-height: 48px; align-items: center; padding: 4px 2px; }
  .ce, .ce-more { display: none; }
  .cdots { display: flex; }
}
.cal-foot { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin: 14px 0 8px; font-size: 12px; color: var(--ink-2); flex-wrap: wrap; }
.cal-foot .stamp { color: var(--ink-3); font-variant-numeric: tabular-nums; }
.agenda { display: grid; gap: 8px; }
.ag { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 12px; align-items: start; padding: 10px 12px 10px 10px; border-radius: var(--r-in); background: var(--glass-inner); border: 1px solid var(--edge-faint); }
.ag.is-today { border-color: var(--edge-soft); }
.ag-body { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ag-title { font-weight: 500; overflow-wrap: anywhere; }
.ag-meta { display: flex; flex-wrap: wrap; gap: 2px 12px; font-size: 12px; color: var(--ink-2); }
.ag-meta span { overflow-wrap: anywhere; }
.ag-meta a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--edge-soft); text-underline-offset: 3px; }
.cal-note { display: grid; gap: 10px; justify-items: start; padding: 16px; border-radius: var(--r-in); border: 1px dashed var(--edge-soft); font-size: 13px; color: var(--ink-2); margin-top: 10px; }
.cal-note b { color: var(--ink); font-weight: 500; }

/* members (旧) */
.members { display: grid; gap: 8px; }
.member { appearance: none; width: 100%; display: flex; align-items: center; gap: 12px; text-align: left; padding: 10px 14px 10px 10px; border-radius: var(--r-in); background: var(--glass-inner); border: 1px solid var(--edge-faint); }
.member:hover { background: rgba(255,255,255,.12); }
.member[aria-pressed="true"] { border-color: var(--edge); background: rgba(255,255,255,.16); }
.m-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.m-top { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.m-name { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.m-name small { font-weight: 400; font-size: 11px; color: var(--ink-3); margin-left: 6px; }
.m-count { font-size: 12px; color: var(--ink-2); font-variant-numeric: tabular-nums; white-space: nowrap; }

/* events */
.events { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.ev { border-radius: var(--r-in); background: var(--glass-inner); border: 1px solid var(--edge-faint); padding: 16px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.ev-head { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; }
.ev h3 { font-size: 15px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; flex: 1; min-width: 0; }
.ev-due { font-size: 12px; color: var(--ink-2); }
.pill { font-size: 11px; padding: 1px 10px; border-radius: 999px; border: 1px solid var(--edge-soft); white-space: nowrap; color: var(--ink-2); }
.pill.soon { color: var(--warn); border-color: rgba(255,226,173,.7); }
.pill.late { color: var(--crit); border-color: rgba(255,196,184,.8); }
.ev-prog { display: flex; align-items: center; gap: 10px; }
.ev-prog .bar { flex: 1; }
.ev-pct { font-size: 13px; min-width: 3ch; text-align: right; font-variant-numeric: tabular-nums; }
.ev details > summary { list-style: none; cursor: pointer; font-size: 12px; color: var(--ink-2); display: flex; align-items: center; gap: 6px; }
.ev details > summary::-webkit-details-marker { display: none; }
.ev details > summary svg { transition: transform .2s; }
.ev details:not([open]) > summary svg { transform: rotate(-90deg); }
.steps { display: grid; gap: 8px; margin-top: 10px; }
.steps li { display: flex; align-items: flex-start; gap: 10px; }
.steps label { flex: 1; font-size: 13px; line-height: 1.5; cursor: pointer; overflow-wrap: anywhere; }
.mini-add { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-top: 10px; }
.mini-add .field { min-height: 36px; padding: 4px 12px; font-size: 13px; border-radius: 14px; }
.mini-add .btn { min-height: 36px; padding: 0 14px; border-radius: 14px; font-size: 13px; }
.add-row { display: grid; grid-template-columns: minmax(0, 1fr) 150px auto; gap: 8px; margin-top: 14px; }
.add-row .field { min-height: 38px; padding: 4px 12px; font-size: 13px; border-radius: 14px; }
.add-row .btn { min-height: 38px; padding: 0 16px; border-radius: 14px; font-size: 13px; }
.add-row .wide { grid-column: 1 / -1; }
input[type="checkbox"] {
  appearance: none; -webkit-appearance: none; flex: none; width: 18px; height: 18px; margin: 2px 0 0; border-radius: 6px; border: 1px solid var(--edge); background: rgba(255,255,255,.06); cursor: pointer;
}
input[type="checkbox"]:checked {
  border-color: transparent; background-color: var(--clay-1);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  background-size: 14px; background-position: center; background-repeat: no-repeat;
}

/* tasks */
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.who-filter { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; }
.add-task { display: grid; grid-template-columns: minmax(0, 1fr) 150px auto; gap: 8px; margin-bottom: 14px; }
@media (max-width: 560px) { .add-task { grid-template-columns: 1fr 1fr; } .add-task .field:first-child { grid-column: 1 / -1; } }
.tasks { display: grid; gap: 8px; }
.task { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 6px 10px; align-items: center; padding: 12px 10px 12px 14px; border-radius: var(--r-in); background: var(--glass-inner); border: 1px solid var(--edge-faint); }
.t-title { font-weight: 500; overflow-wrap: anywhere; }
.task[data-st="done"] .t-title { text-decoration: line-through; color: var(--ink-3); font-weight: 400; }
.t-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; font-size: 12px; color: var(--ink-2); }
.t-who { display: inline-flex; align-items: center; gap: 6px; }
.due.soon { color: var(--warn); }
.due.late { color: var(--crit); }
.status { min-width: 88px; min-height: 34px; padding: 0 14px; border-radius: 999px; font-size: 13px; border: 1px solid var(--edge-soft); background: transparent; }
.status.st-doing { background: linear-gradient(180deg, var(--clay-1), var(--clay-2)); border-color: transparent; font-weight: 500; color: var(--on-clay); text-shadow: var(--on-clay-shadow); }
.status.st-done { color: var(--ok); border-color: rgba(196,240,210,.7); }
.status:disabled { cursor: default; }
.empty { color: var(--ink-3); text-align: center; padding: 18px 8px; }

/* schedule & news */
.sched { display: grid; gap: 8px; }
.sched li { display: flex; align-items: center; gap: 12px; padding: 10px 8px 10px 10px; border-radius: var(--r-in); background: var(--glass-inner); border: 1px solid var(--edge-faint); }
.sched li.today { border-color: var(--edge); background: rgba(255,255,255,.14); }
.s-date { flex: none; width: 46px; text-align: center; line-height: 1.1; }
.s-date b { display: block; font-size: 20px; font-weight: 300; font-variant-numeric: tabular-nums; }
.s-date span { font-size: 11px; color: var(--ink-2); }
.s-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.s-title { font-weight: 500; overflow-wrap: anywhere; }
.s-time { font-size: 12px; color: var(--ink-3); }
.news { display: grid; gap: 12px; }
.news li { display: grid; gap: 6px; padding-bottom: 12px; border-bottom: 1px solid var(--edge-faint); min-width: 0; }
.news li:last-child { border-bottom: 0; padding-bottom: 0; }
.n-top { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 12px; color: var(--ink-3); }
.n-top .n-author { color: var(--ink); font-weight: 500; font-size: 13px; }
.n-text { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; }
.n-text.clamp { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.n-text a, .n-actions a, .news-foot a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--edge-soft); text-underline-offset: 3px; }
.n-actions { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12px; color: var(--ink-2); }
.n-actions button { appearance: none; background: none; border: 0; padding: 0; color: var(--ink-2); font-size: 12px; text-decoration: underline; text-decoration-color: var(--edge-soft); text-underline-offset: 3px; cursor: pointer; }
.news-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; margin-top: 14px; font-size: 12px; color: var(--ink-3); }
.news-foot:empty { display: none; }
.news-foot .nf-left { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
#newsEmpty { display: grid; justify-items: center; gap: 10px; }
#newsEmpty[hidden] { display: none; }

/* my page */
.me-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; }
.me-grid .page-head { grid-column: 1 / -1; }
/* 左の列：プロフィール → 自分のタスク → アカウント（余白を作らないよう縦に詰める）／右の列：背景の写真 */
.me-col { display: grid; gap: 18px; align-content: start; min-width: 0; }
.me-col-l { grid-column: span 5; }
.me-col-r { grid-column: span 7; }
@media (max-width: 1100px) { .me-col-l, .me-col-r { grid-column: 1 / -1; } }
.me-id { display: flex; align-items: center; gap: 18px; margin-bottom: 18px; }
.me-id form { flex: 1; min-width: 0; display: grid; gap: 10px; }
.f { display: grid; gap: 6px; border: 0; padding: 0; margin: 0; min-width: 0; }
.f > span, .f > legend { font-size: 12px; color: var(--ink-2); padding: 0; }
.pick-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(48px, 1fr)); gap: 8px; margin-bottom: 12px; }
.pick-ico { aspect-ratio: 1; border-radius: 16px; border: 1px solid var(--edge-soft); background: rgba(255,255,255,.05); display: grid; place-items: center; padding: 0; }
.pick-ico:hover { background: rgba(255,255,255,.14); }
.pick-ico[aria-pressed="true"] { border-color: #fff; background: rgba(255,255,255,.2); }
.pick-ico .avatar { width: 32px; height: 32px; }
.row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.bg-preview { position: relative; aspect-ratio: 16 / 9; border-radius: 22px; overflow: hidden; border: 1px solid var(--edge-soft); background-size: cover; background-position: center; display: grid; place-items: center; padding: 14px; }
.bg-preview .glass { width: min(300px, 78%); padding: 16px 18px; border-radius: 22px; }
.bg-preview .glass b { font-weight: 500; display: block; }
.bg-preview .glass span { font-size: 12px; color: var(--ink-2); }
.thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 10px; margin: 14px 0; }
.thumb { position: relative; aspect-ratio: 16 / 10; border-radius: 16px; overflow: hidden; border: 1px solid var(--edge-soft); padding: 0; background: none; }
.thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.thumb span { position: absolute; left: 8px; bottom: 6px; font-size: 11px; padding: 0 8px; border-radius: 999px; background: rgb(var(--tint) / .7); }
.thumb[aria-pressed="true"] { border-color: #fff; box-shadow: 0 0 0 1px #fff; }
.swatches { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 12px; color: var(--ink-2); margin-top: 14px; }
.swatches i { width: 22px; height: 22px; border-radius: 50%; border: 1px solid rgba(255,255,255,.7); display: block; }
.swatches .sw { width: 30px; height: 30px; border-radius: 50%; border: 1px solid rgba(255,255,255,.75); padding: 0; box-shadow: inset 0 1px 0 rgba(255,255,255,.35); transition: transform .12s; }
.swatches .sw:hover { transform: scale(1.08); }
.swatches .sw[aria-pressed="true"] { box-shadow: 0 0 0 2px rgb(var(--tint) / .9), 0 0 0 4px #fff; }
.glass-ctl { margin-top: 16px; padding: 14px 16px 12px; border-radius: var(--r-in); background: var(--glass-inner); border: 1px solid var(--edge-faint); display: grid; gap: 6px; }
.glass-ctl-h { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.glass-ctl-h label { font-size: 13px; }
.glass-ctl-h output { font-size: 12px; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.range { position: relative; height: 28px; display: flex; align-items: center; }
.range input { -webkit-appearance: none; appearance: none; width: 100%; height: 28px; margin: 0; background: transparent; cursor: pointer; position: relative; z-index: 1; }
.range input:focus-visible { outline: none; }
.range input::-webkit-slider-runnable-track { height: 6px; border-radius: 999px; border: 1px solid rgba(255,255,255,.5); background: linear-gradient(90deg, rgba(255,255,255,.06), rgb(var(--tint) / .85)); }
.range input::-moz-range-track { height: 6px; border-radius: 999px; border: 1px solid rgba(255,255,255,.5); background: linear-gradient(90deg, rgba(255,255,255,.06), rgb(var(--tint) / .85)); }
.range input::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; margin-top: -8px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff, rgba(255,255,255,.75) 60%, rgba(255,255,255,.55)); border: 1px solid rgba(255,255,255,.9); box-shadow: 0 2px 8px rgba(20,10,8,.35); }
.range input::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff, rgba(255,255,255,.75) 60%, rgba(255,255,255,.55)); border: 1px solid rgba(255,255,255,.9); box-shadow: 0 2px 8px rgba(20,10,8,.35); }
.range input:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 3px rgba(255,255,255,.45), 0 2px 8px rgba(20,10,8,.35); }
.range input:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 3px rgba(255,255,255,.45), 0 2px 8px rgba(20,10,8,.35); }
.range .rec { position: absolute; top: 3px; width: 1px; height: 22px; background: rgba(255,255,255,.75); transform: translateX(-.5px); pointer-events: none; }
.range-ends { display: flex; justify-content: space-between; font-size: 11px; color: var(--ink-3); }
.glass-ctl .row { justify-content: space-between; margin-top: 4px; }
.glass-ctl .hint { padding: 0; }
.btn-ghost.sm { min-height: 34px; padding: 0 14px; font-size: 12px; border-radius: 999px; }
.switch { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
.switch label { cursor: pointer; font-size: 13px; }
.acct { display: grid; gap: 8px; color: var(--ink-2); }
.acct b { font-weight: 500; color: var(--ink); }

/* modal & toast */
.overlay { position: fixed; inset: 0; z-index: 20; display: grid; place-items: center; padding: 16px; background: rgba(30,18,14,.42); overflow: auto; }
.modal { width: min(460px, 100%); border-radius: var(--r-card); padding: 24px; border-color: var(--edge); background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,0) 42%), rgb(var(--tint) / .88); display: grid; gap: 14px; }
.modal .panel-h { margin-bottom: 0; }
.icons { display: grid; grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); gap: 8px; }
.icons label { position: relative; display: block; cursor: pointer; }
.icons input { position: absolute; opacity: 0; inset: 0; margin: 0; width: 100%; height: 100%; cursor: pointer; }
.icons .tile-ico { width: 100%; height: 44px; border-radius: 14px; }
.icons input:checked + .tile-ico { background: linear-gradient(180deg, var(--clay-1), var(--clay-2)); border-color: #fff; }
.icons input:focus-visible + .tile-ico { outline: 1.5px solid #fff; outline-offset: 2px; }
.err { color: var(--crit); font-size: 13px; }
.modal-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.grow { flex: 1; }
.toast { position: fixed; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); z-index: 30; max-width: min(520px, calc(100% - 32px)); padding: 10px 20px; border-radius: 999px; font-size: 13px; text-align: center; }

/* ---------- 独立サイト用の追加 ---------- */
a.btn { text-decoration: none; }
.err-detail { font-size: 11.5px; color: var(--ink-3); word-break: break-word; }
.admin-list { display: grid; gap: 8px; margin-bottom: 14px; }
.admin-list li { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 8px 8px 8px 14px; border-radius: var(--r-in); background: var(--glass-inner); border: 1px solid var(--edge-faint); }
.admin-list .ad-main { display: grid; min-width: 0; flex: 1 1 200px; }
.admin-list .ad-mail { overflow-wrap: anywhere; font-size: 13px; }
.admin-list .ad-label { font-size: 12px; color: var(--ink-3); }
.admin-list .ad-ctl { display: flex; align-items: center; gap: 6px; }
.admin-list .ad-role { min-height: 36px; width: auto; padding: 4px 12px; font-size: 13px; }
.admin-list .x-btn { opacity: 1; }
.admin-list .empty { padding: 10px; }
.admin-add { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.admin-add .btn { grid-column: 1 / -1; justify-self: start; }
@media (max-width: 560px) { .admin-add { grid-template-columns: 1fr; } }
.admin-check { margin-top: 12px; font-size: 12.5px; color: var(--ink-2); }
.admin-check summary { cursor: pointer; padding: 4px 8px; }
.admin-check ul { display: grid; gap: 4px; padding: 6px 8px 2px; }
.admin-check li { display: flex; gap: 8px; align-items: baseline; }
.admin-check li b { font-weight: 500; width: 1.2em; flex: none; }
.admin-check li.ok b { color: var(--ok); }
.admin-check li.ng b { color: var(--crit); }
