/* ハンドレンジ学習(管理者専用)。基本のデザインとセグメントは /assets/style.css を使う */ .range-tabs { margin: 0 0 16px; } /* レンジ表の分類ごとの色(レンジ表のデータとしての色なのでサイトの配色とは別) */ .cat-navy { --c: #20365d; --fg: #fff; } .cat-red { --c: #9e342e; --fg: #fff; } .cat-yellow { --c: #ddb356; --fg: #14191f; } .cat-green { --c: #4e8051; --fg: #101910; } .cat-blue { --c: #6aa5c9; --fg: #14191f; } .cat-white { --c: #f7f7f7; --fg: #222; } .cat-gray { --c: #929292; --fg: #222; } /* レイズを受けたときの対応の枠(3bet は水色、コールは黄)。下地の色と紛れないよう内側に暗い線を添える */ .facing-3bet { --frame: #3fd4ff; } .facing-call { --frame: #ffe23a; } .range-cell.facing-3bet, .range-cell.facing-call { box-shadow: inset 0 0 0 3px var(--frame), inset 0 0 0 4px rgba(0, 0, 0, 0.45); } /* 13×13 の表 */ .matrix-card { padding: 6px; border-radius: 16px; background: var(--bg-2); } .range-matrix { display: grid; grid-template-columns: repeat(13, 1fr); gap: 2px; } .range-cell { position: relative; min-width: 0; aspect-ratio: 1; padding: 0; border: 0; border-radius: 4px; background: var(--c); color: var(--fg); font-size: clamp(8px, 2.4vw, 12px); font-weight: 700; letter-spacing: -0.04em; cursor: pointer; transition: transform 0.45s var(--ease-spring); } .range-cell:active { transform: scale(0.9); transition: transform 0.1s ease-out; } .range-cell.selected { z-index: 1; outline: 2px solid var(--label); outline-offset: 1px; transform: scale(1.12); } /* 凡例 */ .range-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 12px 8px 0; color: var(--label-2); font-size: 0.75rem; } .range-legend span { display: inline-flex; align-items: center; gap: 6px; } .swatch-dot { width: 14px; height: 14px; flex: none; border-radius: 4px; background: var(--c); box-shadow: inset 0 0 0 0.5px rgba(0, 0, 0, 0.2); } .swatch-dot.swatch-frame { background: transparent; box-shadow: inset 0 0 0 3px var(--frame); } /* 選択したハンド */ .selected-card { margin-top: 16px; } .sel-hand { font-size: 1.75rem; font-weight: 700; line-height: 1.15; letter-spacing: -0.02em; } .sel-label { display: flex; align-items: center; gap: 8px; margin-top: 6px; font-weight: 600; } .selected-card .hint { margin-top: 6px; } /* クイズ */ .quiz-progress { height: 6px; margin: 18px 0 8px; overflow: hidden; border-radius: 999px; background: var(--fill-2); } .quiz-progress i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--tint); transition: width 0.5s var(--ease-spring); } .quiz-stats { display: flex; justify-content: center; gap: 14px; color: var(--label-2); font-size: 0.8125rem; font-variant-numeric: tabular-nums; } .quiz-hand { margin: 14px 0; padding: 20px 12px; text-align: center; } .quiz-cards { display: flex; justify-content: center; gap: 10px; } .quiz-cards img { width: min(32%, 120px); height: auto; filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.3)); animation: card-in 0.55s var(--ease-spring) both; } .quiz-cards img + img { animation-delay: 70ms; } @keyframes card-in { from { opacity: 0; transform: translateY(-14px) scale(0.92) rotate(-4deg); } } .quiz-hand-name { margin-top: 10px; font-size: 2.5rem; font-weight: 700; line-height: 1.1; letter-spacing: -0.025em; } .quiz-answers { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; } .quiz-answers .btn { justify-content: flex-start; padding: 12px 12px; background: var(--bg-2); color: var(--label); font-size: 0.9375rem; box-shadow: inset 0 0 0 0 transparent; transition: transform 0.45s var(--ease-spring), box-shadow 0.25s ease, background-color 0.25s ease; } .quiz-answers .btn:disabled { opacity: 1; } .quiz-answers .btn.correct { background: var(--tint-soft); box-shadow: inset 0 0 0 2px var(--tint); } .quiz-answers .btn.wrong { background: rgba(255, 59, 48, 0.12); box-shadow: inset 0 0 0 2px var(--red); } .quiz-feedback { margin-top: 12px; padding: 12px 14px; border-radius: 14px; background: var(--bg-2); font-size: 0.9375rem; animation: fade-up 0.45s var(--ease-spring) both; } .quiz-feedback.good { box-shadow: inset 0 0 0 2px var(--tint); } .quiz-feedback.bad { box-shadow: inset 0 0 0 2px var(--red); } @media (prefers-reduced-motion: reduce) { .quiz-cards img, .quiz-feedback { animation: fade-in 0.2s ease both; } .range-cell.selected { transform: none; } }