/* みんなで1枚の絵 */
:root { --accent: #6a3fd1; --accent-soft: #ece4fb; --accent-ink: #ffffff; --mc-wood: #b07a46; --mc-frame: #3a2f5c; --mc-board-bg: #ffffff; --mc-grid: rgba(0, 0, 0, .06); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --accent: #b39bff; --accent-soft: #2c2452; --accent-ink: #0f1220; --mc-wood: #c99563; --mc-frame: #0b0d18; } }
:root[data-theme="dark"] { --accent: #b39bff; --accent-soft: #2c2452; --accent-ink: #0f1220; --mc-wood: #c99563; --mc-frame: #0b0d18; }

.mc-easel { position: relative; width: 220px; height: 190px; margin: 6px auto 8px; }
.mc-easel-svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.mc-wood { stroke: var(--mc-wood); stroke-width: 7; stroke-linecap: round; }
.mc-wood-f { fill: var(--mc-wood); }
.mc-palette ellipse { fill: var(--mc-wood); opacity: .85; }
.mc-palette .p1 { fill: var(--bad); } .mc-palette .p2 { fill: var(--warn); } .mc-palette .p3 { fill: var(--good); } .mc-palette .p4 { fill: var(--accent); }
.mc-preview { position: absolute; left: 50%; top: 22px; transform: translateX(-50%) rotate(-1.5deg); width: 118px; height: 118px; image-rendering: pixelated; border: 4px solid var(--mc-frame); border-radius: 3px; background: var(--mc-board-bg); box-shadow: var(--shadow); }
.mc-theme { color: var(--accent); }

.mc-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; }
.mc-head-theme { font-size: 26px; margin: 0; }
.mc-live { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--text-sub); white-space: nowrap; }
.mc-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--good); animation: mc-pulse 1.6s infinite; }
@keyframes mc-pulse { 50% { opacity: .3; } }

.mc-scroll { width: 100%; aspect-ratio: 1 / 1; overflow: auto; border: 4px solid var(--mc-frame); border-radius: 8px; background: var(--mc-board-bg); -webkit-overflow-scrolling: touch; }
.mc-stage { position: relative; width: 100%; height: 100%; }
.mc-board { display: block; width: 100%; height: 100%; image-rendering: pixelated; image-rendering: crisp-edges; cursor: crosshair; }
.mc-cursor { position: absolute; display: none; box-sizing: border-box; outline: 2px solid var(--text); box-shadow: 0 0 0 4px var(--bg); pointer-events: none; animation: mc-blink 1s infinite; z-index: 2; }
@keyframes mc-blink { 50% { outline-color: var(--bg); box-shadow: 0 0 0 4px var(--text); } }
.mc-zoom { justify-content: flex-end; }
.mc-zbtn { min-height: 38px; padding: 4px 12px; }
.mc-zbtn.is-on { border-color: var(--accent); color: var(--accent); }
.mc-sel { margin: 0; min-height: 3em; }

.mc-palette-grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 6px; }
.mc-sw { aspect-ratio: 1 / 1; border-radius: 8px; border: 2px solid var(--line); cursor: pointer; min-height: 36px; padding: 0; }
.mc-sw.is-on { outline: 3px solid var(--accent); outline-offset: 2px; transform: scale(1.08); }
.mc-cool { height: 6px; background: var(--surface-2); border-radius: 99px; overflow: hidden; }
.mc-cool i { display: block; height: 100%; background: var(--accent); width: 100%; transition: width .9s linear; }

.mc-mine-row { display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.mc-mine-num { font-size: 44px; font-weight: 900; color: var(--accent); line-height: 1.1; }
.mc-mine-num small { font-size: 16px; margin-left: 4px; color: var(--text); }
.mc-titles { display: flex; flex-wrap: wrap; gap: 6px; }
.mc-used { display: grid; grid-template-columns: repeat(16, 1fr); gap: 3px; margin-top: 10px; }
.mc-used i { aspect-ratio: 1 / 1; border-radius: 4px; border: 1px dashed var(--line); }
.mc-used i.is-got { border: 1px solid var(--line); }

.mc-archive { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.mc-arc { border: 1px solid var(--line); background: var(--surface); border-radius: 10px; padding: 6px; cursor: pointer; text-align: left; line-height: 1.35; min-width: 0; }
.mc-arc canvas { display: block; width: 100%; image-rendering: pixelated; border-radius: 4px; margin-bottom: 4px; border: 1px solid var(--line); }
.mc-arc b { display: block; font-size: 12px; }
.mc-arc small { font-size: 11px; color: var(--text-sub); }
.mc-arc-big { display: block; width: 100%; image-rendering: pixelated; border: 1px solid var(--line); }
@media (min-width: 560px) { .mc-archive { grid-template-columns: repeat(4, 1fr); } }
