/* ダイノジ カレンダー：白ベースで日付・会場・時間が先に目に入る一覧 */
.dc-wrap{
  --dc-ink:#1d2233; --dc-muted:#5b6478; --dc-line:#d9dce5; --dc-bg:#ffffff; --dc-soft:#f4f6fa;
  --dc-accent:#1b4fa8; --dc-sat:#1b4fa8; --dc-sun:#c92a2a;
  --dc-dj:#c2255c; --dc-comedy:#d9480f; --dc-stage:#6741d9; --dc-media:#0c8599; --dc-other:#5b6478; --dc-talk:#2b8a3e; --dc-fes:#a8700a;
  color:var(--dc-ink); font-size:16px; line-height:1.7; max-width:820px; margin-inline:auto;
  display:flex; flex-direction:column; gap:20px;
}
.dc-wrap *{box-sizing:border-box}
.dc-wrap [hidden]{display:none!important}
.dc-lead,.dc-note{margin:0;color:var(--dc-muted);font-size:14px}
.dc-note{border-top:1px solid var(--dc-line);padding-top:14px}
.dc-wrap button{font:inherit;cursor:pointer}
.dc-wrap button:focus-visible,.dc-wrap a:focus-visible,.dc-wrap select:focus-visible{outline:3px solid var(--dc-accent);outline-offset:2px}

/* ミニカレンダー */
.dc-cal{border:1px solid var(--dc-line);border-radius:8px;padding:12px;background:var(--dc-bg);max-width:380px}
.dc-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.dc-cal-head button{background:var(--dc-bg);border:1px solid var(--dc-line);border-radius:6px;width:36px;height:36px;font-size:20px;line-height:1;color:var(--dc-ink)}
.dc-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}
.dc-cal-grid .dc-dow{color:var(--dc-muted);font-size:12px;padding:2px 0}
.dc-cal-grid .dc-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:6px;border:0;background:transparent;color:var(--dc-ink);padding:0}
.dc-cal-grid button.dc-day{background:var(--dc-soft);font-weight:700}
.dc-cal-grid button.dc-day:hover{background:var(--dc-line)}
.dc-cal-grid .dc-today{box-shadow:inset 0 0 0 2px var(--dc-accent)}
.dc-dots{display:flex;gap:2px;height:6px}
.dc-dot{width:6px;height:6px;border-radius:50%;background:var(--dc-other)}
.dc-dot-dj{background:var(--dc-dj)} .dc-dot-comedy{background:var(--dc-comedy)} .dc-dot-talk{background:var(--dc-talk)} .dc-dot-fes{background:var(--dc-fes)} .dc-dot-stage{background:var(--dc-stage)} .dc-dot-media{background:var(--dc-media)}

/* 絞り込み */
.dc-filters{display:flex;flex-direction:column;gap:10px}
.dc-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.dc-filter-label{font-size:13px;font-weight:700;color:var(--dc-muted);min-width:4.5em}
.dc-chips{display:flex;flex-wrap:wrap;gap:6px}
.dc-chip{background:var(--dc-bg);border:1px solid var(--dc-line);border-radius:999px;padding:4px 12px;font-size:14px;color:var(--dc-ink)}
.dc-chip[aria-pressed="true"]{background:var(--dc-ink);border-color:var(--dc-ink);color:#fff}
.dc-wrap select{font:inherit;font-size:16px;color:var(--dc-ink);background:var(--dc-bg);border:1px solid var(--dc-line);border-radius:6px;padding:6px 10px;max-width:100%}

/* タブ */
.dc-tabs{display:flex;gap:0;border-bottom:2px solid var(--dc-ink)}
.dc-tab{background:transparent;border:0;border-radius:6px 6px 0 0;padding:8px 16px;font-weight:700;color:var(--dc-muted)}
.dc-tab[aria-pressed="true"]{background:var(--dc-ink);color:#fff}
.dc-count{font-weight:400;font-size:13px}

/* 一覧 */
.dc-list{display:flex;flex-direction:column;gap:12px}
.dc-month{margin:8px 0 0;font-size:18px;font-weight:700;display:flex;align-items:center;gap:12px}
.dc-month::after{content:"";flex:1;height:1px;background:var(--dc-line)}
.dc-empty{margin:0;padding:28px 16px;text-align:center;color:var(--dc-muted);border:1px dashed var(--dc-line);border-radius:8px}

.dc-card{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:16px;background:var(--dc-bg);border:1px solid var(--dc-line);border-radius:8px;padding:16px;scroll-margin-top:80px}
.dc-card.dc-hit{box-shadow:0 0 0 3px var(--dc-accent)}
.dc-date{display:flex;flex-direction:column;align-items:center;gap:2px;border-right:1px solid var(--dc-line);padding-right:14px}
.dc-md{font-size:28px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}
.dc-wd{font-size:13px;font-weight:700;color:var(--dc-muted)}
.dc-wd.dc-sat{color:var(--dc-sat)} .dc-wd.dc-sun{color:var(--dc-sun)}
.dc-yr{font-size:12px;color:var(--dc-muted)}
.dc-body{min-width:0;display:flex;flex-direction:column;gap:6px}
.dc-badges{display:flex;flex-wrap:wrap;gap:6px}
.dc-badge{font-size:12px;font-weight:700;border-radius:4px;padding:1px 8px;line-height:1.6}
.dc-badge-genre{color:#fff;background:var(--dc-other)}
.dc-genre-dj .dc-badge-genre{background:var(--dc-dj)}
.dc-genre-comedy .dc-badge-genre{background:var(--dc-comedy)}
.dc-genre-talk .dc-badge-genre{background:var(--dc-talk)}
.dc-genre-fes .dc-badge-genre{background:var(--dc-fes)}
.dc-genre-stage .dc-badge-genre{background:var(--dc-stage)}
.dc-genre-media .dc-badge-genre{background:var(--dc-media)}
.dc-badge-status{background:#fff3bf;color:#5c3c00}
.dc-status-soldout .dc-badge-status{background:var(--dc-ink);color:#fff}
.dc-status-postponed .dc-badge-status{background:#dbe4ff;color:#1b3a8a}
.dc-status-cancelled .dc-badge-status{background:#ffe3e3;color:#a61e1e}
.dc-status-cancelled .dc-title,.dc-status-cancelled .dc-title a{text-decoration:line-through;color:var(--dc-muted)}
.dc-title{margin:0;font-size:19px;line-height:1.4;font-weight:700;overflow-wrap:anywhere}
.dc-title a{color:inherit;text-decoration:none}
.dc-title a:hover{text-decoration:underline}
.dc-times{margin:0;display:flex;flex-wrap:wrap;gap:2px 16px;font-size:15px;font-variant-numeric:tabular-nums}
.dc-times b{font-size:12px;color:var(--dc-muted);margin-right:2px}
.dc-info{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;font-size:15px}
.dc-info dt{color:var(--dc-muted);font-size:13px;padding-top:2px;white-space:nowrap;font-weight:400}
.dc-info dd{margin:0;overflow-wrap:anywhere}
.dc-tickets{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 12px}
.dc-tickets li{display:flex;align-items:center;gap:6px}
.dc-ticket-btn{display:inline-block;background:var(--dc-accent);color:#fff;text-decoration:none;font-weight:700;font-size:14px;border-radius:6px;padding:6px 14px}
.dc-ticket-btn:hover{color:#fff;opacity:.9}
.dc-ticket-memo{font-size:13px;color:var(--dc-muted)}
.dc-official{margin:0;font-size:14px}
.dc-official a,.dc-more a{color:var(--dc-accent)}
.dc-more{margin:0;font-size:14px}
.dc-react{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;padding-top:10px;border-top:1px dashed var(--dc-line)}
.dc-react-btn{display:inline-flex;align-items:center;gap:6px;background:var(--dc-bg);border:1px solid var(--dc-line);border-radius:999px;padding:5px 12px;font-size:14px;color:var(--dc-ink);min-height:36px}
.dc-react-btn:hover:not(:disabled){border-color:var(--dc-accent)}
.dc-react-btn[aria-pressed="true"]{background:var(--dc-accent);border-color:var(--dc-accent);color:#fff;font-weight:700}
.dc-react-btn:disabled{cursor:default;color:var(--dc-muted);background:var(--dc-soft)}
.dc-react-n{font-variant-numeric:tabular-nums;font-weight:700;min-width:1ch;text-align:right}
.dc-react-msg{font-size:13px;color:var(--dc-sun);flex-basis:100%}
.dc-react-msg:empty{display:none}
.dc-flyer{width:110px;align-self:start}
.dc-flyer img{display:block;width:100%;height:auto;border-radius:4px;border:1px solid var(--dc-line)}
.dc-single .dc-card{grid-template-columns:84px minmax(0,1fr)}
.dc-flyer{position:relative;display:block}
.dc-flyer-more{position:absolute;right:4px;bottom:4px;background:var(--dc-ink);color:#fff;font-size:12px;font-weight:700;border-radius:4px;padding:1px 6px}
.dc-flyers{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.dc-flyers-one{grid-template-columns:minmax(0,1fr)}
.dc-single .dc-flyers{order:-1}
.dc-flyers img{display:block;width:100%;height:auto;border-radius:4px;border:1px solid var(--dc-line)}

@media (max-width:560px){
  .dc-card{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px}
  .dc-date{padding-right:10px}
  .dc-md{font-size:22px}
  .dc-flyer{grid-column:1 / -1;width:100%;max-width:240px;justify-self:end}
  .dc-filter-label{min-width:100%}
}

/* 投稿フォーム */
.dc-form-wrap{max-width:640px}
.dc-rules{background:var(--dc-soft);border-radius:8px;padding:14px 16px;font-size:14px}
.dc-rules p{margin:0 0 4px}
.dc-rules ul{margin:0;padding-left:1.2em}
.dc-form{display:flex;flex-direction:column;gap:16px}
.dc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.dc-field{display:flex;flex-direction:column;gap:4px;border:0;padding:0;margin:0;min-width:0}
.dc-field>span,.dc-field>legend{font-size:14px;font-weight:700;padding:0}
.dc-field em{font-style:normal;font-size:12px;color:var(--dc-sun);margin-left:4px}
.dc-field small{font-size:13px;color:var(--dc-muted)}
.dc-form input[type=text],.dc-form input[type=url],.dc-form input[type=date],.dc-form input[type=time],.dc-form textarea,.dc-form select{font:inherit;font-size:16px;color:var(--dc-ink);background:var(--dc-bg);border:1px solid var(--dc-line);border-radius:6px;padding:8px 10px;width:100%;max-width:100%}
.dc-form input[type=file]{font-size:14px;max-width:100%}
.dc-row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dc-row3 legend{grid-column:1 / -1;margin-bottom:4px}
.dc-row3 label{display:flex;flex-direction:column;font-size:13px;color:var(--dc-muted);gap:2px;min-width:0}
.dc-checks{flex-direction:row;flex-wrap:wrap;gap:6px 16px}
.dc-checks legend{width:100%;margin-bottom:4px}
.dc-checks label{font-size:15px}
.dc-form-tickets{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.dc-form-ticket{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr);gap:6px}
.dc-btn-main{background:var(--dc-accent);color:#fff;border:0;border-radius:6px;padding:12px 20px;font-weight:700;font-size:16px;align-self:flex-start}
.dc-btn-main:disabled{opacity:.6;cursor:default}
.dc-btn-sub{background:var(--dc-bg);color:var(--dc-ink);border:1px solid var(--dc-line);border-radius:6px;padding:6px 14px;font-size:14px;align-self:flex-start}
.dc-form-msg{margin:0;color:var(--dc-sun);font-weight:700;font-size:14px}
.dc-form-msg:empty{display:none}
.dc-form-done{border:1px solid var(--dc-line);border-radius:8px;padding:20px}
.dc-form-done p{margin:0 0 8px}
@media (max-width:560px){.dc-row3,.dc-form-ticket{grid-template-columns:minmax(0,1fr)}}

/* シェア */
.dc-share{display:flex;flex-direction:column;gap:8px;margin-top:6px;padding-top:12px;border-top:1px dashed var(--dc-line)}
.dc-share-label{font-size:13px;font-weight:700;color:var(--dc-muted)}
.dc-actions{grid-column:1 / -1;display:flex;flex-direction:column;gap:6px;min-width:0}
.dc-share-row{display:grid;grid-template-columns:repeat(6,minmax(0,38px));gap:10px}
.dc-share-btn{display:block;background:transparent;border:0;padding:0;text-decoration:none;min-width:0}
.dc-share-ico{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border-radius:50%;color:#fff;background:var(--dc-muted)}
.dc-share-ico svg{width:54%;height:54%}
.dc-share-line .dc-share-ico svg{width:70%;height:70%}
.dc-share-cap{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dc-share-btn:hover .dc-share-ico{opacity:.85}
.dc-share-x .dc-share-ico{background:#000}
.dc-share-fb .dc-share-ico{background:#1877f2}
.dc-share-line .dc-share-ico{background:#06c755}
.dc-share-story .dc-share-ico{background:linear-gradient(45deg,#f9a03f,#e1306c 50%,#833ab4)}
.dc-share-copy .dc-share-ico,.dc-share-native .dc-share-ico{background:var(--dc-bg);color:var(--dc-ink);border:1px solid var(--dc-line)}
.dc-share-msg{font-size:13px;color:var(--dc-muted)}
.dc-share-msg:empty{display:none}
.dc-month-share-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.dc-month-msg{flex-basis:auto}
.dc-modal{position:fixed;inset:0;z-index:99999;background:rgba(20,24,40,.7);display:flex;align-items:center;justify-content:center;padding:16px}
.dc-modal-box{background:var(--dc-bg);color:var(--dc-ink);border-radius:10px;width:100%;max-width:440px;max-height:100%;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.dc-modal-head{display:flex;align-items:center;justify-content:space-between}
.dc-modal-close{background:transparent;border:0;font-size:26px;line-height:1;color:var(--dc-ink);width:40px;height:40px}
.dc-modal-body{display:flex;flex-direction:column;gap:16px}
.dc-modal-body figure{margin:0;display:flex;flex-direction:column;gap:8px;align-items:center}
.dc-modal-body img{display:block;width:100%;max-width:260px;height:auto;border:1px solid var(--dc-line);border-radius:6px}
.dc-modal-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.dc-modal-actions a{text-decoration:none;display:inline-block;padding:8px 16px;font-size:14px}
.dc-modal-actions a:hover{color:#fff}
.dc-modal-note{margin:0;font-size:13px;color:var(--dc-muted)}

/* 非公開スケジュール */
.dc-badge-private{background:var(--dc-ink);color:#fff}
.dc-lock{max-width:420px}
.dc-lock-form{display:flex;flex-direction:column;gap:10px;border:1px solid var(--dc-line);border-radius:8px;padding:20px}
.dc-lock-form p{margin:0}
.dc-lock-form label{font-size:14px;font-weight:700}
.dc-lock-form input{font:inherit;font-size:16px;color:var(--dc-ink);background:var(--dc-bg);border:1px solid var(--dc-line);border-radius:6px;padding:8px 10px;width:100%}

/* 最終更新と編集 */
.dc-updated{margin:2px 0 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;font-size:12px;color:var(--dc-muted);font-variant-numeric:tabular-nums}
.dc-edit-link{font-size:13px;color:var(--dc-accent)}
.dc-private-post{margin:0}
.dc-private-post a,.dc-form-done a.dc-btn-sub{display:inline-block;text-decoration:none}

.dc-addcal{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;padding-top:12px;border-top:1px dashed var(--dc-line)}
.dc-addcal .dc-share-label{width:100%}
.dc-addcal-btn{font-size:13px;font-weight:700;line-height:1.4;padding:6px 14px;border:1px solid var(--dc-line);border-radius:999px;text-decoration:none;color:var(--dc-ink);background:var(--dc-bg)}
.dc-addcal-btn:hover{opacity:.8}
