:root{--v10-panel:#12100d;--v10-line:rgba(199,163,94,.25)}
*{box-sizing:border-box}body{margin:0;background:#0b0a08}button,select,textarea{font:inherit}
.v10-review-app{padding:18px 0 42px}.v10-shell{width:min(94vw,1040px);margin:0 auto}
.v10-header{text-align:center;margin:0 auto 18px}.v10-header h1{margin:12px 0 5px}.v10-header p{margin:0;color:var(--rikujin-gold-text-dim);font-size:12px;line-height:1.8}
.v10-badge{display:inline-flex;padding:6px 11px;border:1px solid var(--rikujin-gold-edge-dim);border-radius:999px;color:var(--rikujin-gold-text-bright);font-size:12px;letter-spacing:.12em;background:rgba(199,163,94,.05)}
.v10-runtime-check{margin:7px 0 0;color:var(--rikujin-gold-text-dim);font-size:12px;letter-spacing:.05em}
.v10-panel,.v10-result,.v10-animation-panel{border:1px solid var(--v10-line);border-radius:16px;background:rgba(18,16,13,.94);box-shadow:0 22px 60px rgba(0,0,0,.24)}
.v10-panel{max-width:800px;margin:0 auto;padding:22px}.v10-kicker{margin:0 0 5px;color:var(--rikujin-gold-text-dim);font-size:12px;letter-spacing:.16em}
.v10-panel h2,.v10-copy-column h2,.v10-animation-head h2{margin:0 0 15px;color:var(--rikujin-gold-text-bright);font-size:19px}
.v10-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.v10-mode{min-height:88px;padding:13px 10px;border:1px solid var(--rikujin-gold-edge-dim);border-radius:11px;background:#0f0e0c;color:var(--rikujin-gold-text);cursor:pointer}.v10-mode strong,.v10-mode span{display:block}.v10-mode strong{font-size:14px}.v10-mode span{margin-top:5px;color:var(--rikujin-gold-text-dim);font-size:12px}.v10-mode.is-selected{border-color:var(--rikujin-gold-bright);background:rgba(199,163,94,.09);box-shadow:inset 0 0 0 1px rgba(235,203,142,.12)}
.v10-question{margin-top:13px}.v10-question label{display:block;margin-bottom:5px;color:var(--rikujin-gold-text-dim);font-size:12px}.v10-question textarea{width:100%;min-height:86px;padding:11px;resize:vertical;border:1px solid var(--rikujin-gold-edge-dim);border-radius:9px;outline:0;background:#0c0b09;color:var(--rikujin-gold-text-bright)}.v10-question small{display:block;margin-top:5px;color:var(--rikujin-gold-text-dim);font-size:12px}
.v10-animation-choice{margin-top:15px;padding-top:14px;border-top:1px solid rgba(199,163,94,.14)}.v10-animation-choice-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.v10-animation-choice-head span{color:var(--rikujin-gold-text);font-size:12px}.v10-animation-choice-head small{color:var(--rikujin-gold-text-dim);font-size:12px}.v10-animation-segment{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.v10-animation-button{padding:9px 8px;border:1px solid rgba(199,163,94,.22);border-radius:9px;background:#0e0d0b;color:var(--rikujin-gold-text-dim);cursor:pointer}.v10-animation-button strong,.v10-animation-button span{display:block}.v10-animation-button span{margin-top:2px;font-size:12px;opacity:.78}.v10-animation-button.is-selected{border-color:var(--rikujin-gold-edge);color:var(--rikujin-gold-text-bright);background:rgba(199,163,94,.075)}
.v10-calendar-box{margin-top:15px;padding:12px 13px;border:1px solid rgba(199,163,94,.18);border-radius:10px;background:rgba(199,163,94,.035)}.v10-calendar-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.v10-calendar-head span{color:var(--rikujin-gold-text-dim);font-size:12px}.v10-calendar-head strong{color:var(--rikujin-gold-text);font-size:13px}.v10-calendar-box>p{margin:6px 0 0;color:var(--rikujin-gold-text-dim);font-size:12px;line-height:1.7}.v10-calendar-status[data-state=ready]{color:var(--rikujin-gold-text)}.v10-calendar-status[data-state=error]{color:#c89b69}.v10-calendar-retry{margin-top:8px;padding:6px 9px;border:1px solid var(--rikujin-gold-edge-dim);border-radius:7px;background:transparent;color:var(--rikujin-gold-text);cursor:pointer;font-size:12px}
.v10-divine{width:100%;margin-top:17px;padding:13px 18px;border:1px solid var(--rikujin-gold-bright);border-radius:10px;background:linear-gradient(180deg,rgba(199,163,94,.18),rgba(199,163,94,.06));color:var(--rikujin-gold-text-bright);font-weight:700;letter-spacing:.14em;cursor:pointer}.v10-divine:disabled{opacity:.32;cursor:not-allowed}.v10-status{min-height:1.3em;margin:7px 0 0;text-align:center;color:var(--rikujin-gold-text-dim);font-size:12px}
.v10-animation-panel{max-width:800px;margin:0 auto;padding:18px;text-align:center}.v10-animation-head{margin-bottom:6px}.v10-animation-head h2{margin-bottom:5px}.v10-animation-head>p:last-child{min-height:1.6em;margin:0 0 8px;color:var(--rikujin-gold-text-dim);font-size:12px}#animation-board-host .rikujin-board-container{width:min(86vw,680px);margin:0 auto}.v10-animation-skip{margin-top:5px;padding:8px 12px;border:0;background:transparent;color:var(--rikujin-gold-text-dim);text-decoration:underline;cursor:pointer;font-size:12px}
.v10-result{padding:20px}.v10-result-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr);gap:22px;align-items:start}.v10-board-column{position:sticky;top:12px}#result-board-host .rikujin-board-container{width:min(100%,560px);margin:0 auto}.v10-board-note{margin:8px auto 0;max-width:560px;color:var(--rikujin-gold-text-dim);font-size:11px;line-height:1.65;text-align:center}.v10-mode-note{margin:-8px 0 8px;color:var(--rikujin-gold-text-dim);font-size:12px;line-height:1.7}.v10-result-calendar{margin:0 0 11px;padding:7px 9px;border:1px solid rgba(199,163,94,.13);border-radius:7px;color:var(--rikujin-gold-text-dim);font-size:12px;line-height:1.65}.v10-reading{padding:12px 13px;border-left:2px solid var(--rikujin-gold-edge);background:rgba(199,163,94,.04);color:var(--rikujin-gold-text);font-size:13px;line-height:1.9}.v10-transmissions{display:grid;gap:7px;margin-top:12px}.v10-transmission{display:grid;grid-template-columns:48px 42px 70px minmax(0,1fr);gap:7px;align-items:center;padding:9px 10px;border:1px solid rgba(199,163,94,.18);border-radius:9px;background:rgba(0,0,0,.13)}.v10-transmission .phase{color:var(--rikujin-gold-text-dim);font-size:12px}.v10-transmission .branch{color:var(--rikujin-gold-text-bright);font-size:19px;text-align:center}.v10-transmission .general{color:var(--rikujin-gold-text);font-size:13px;text-align:center}.v10-transmission .meaning strong{display:block;color:var(--rikujin-gold-text);font-size:12px;line-height:1.55}.v10-transmission .meaning span{display:block;margin-top:3px;color:var(--rikujin-gold-text-dim);font-size:12px;line-height:1.5}.v10-card-copy{display:grid;grid-template-columns:1fr;gap:7px;margin-top:12px}.v10-card-copy section{padding:10px;border:1px solid rgba(199,163,94,.15);border-radius:8px}.v10-card-copy p{margin:4px 0 0;color:var(--rikujin-gold-text);font-size:12px;line-height:1.65}.v10-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.v10-actions button,.v10-retry{padding:10px;border:1px solid var(--rikujin-gold-edge-dim);border-radius:8px;background:transparent;color:var(--rikujin-gold-text);cursor:pointer}.v10-actions button:disabled{opacity:.36}.v10-actions .primary{width:100%;border-color:var(--rikujin-gold-edge);background:rgba(199,163,94,.07)}.v10-paste-hint{margin:0;padding:0;border:0;background:transparent;color:var(--rikujin-gold-text-dim);font-size:13px;line-height:1.8}.v10-paste-hint kbd{border:1px solid rgba(199,163,94,.35);border-radius:4px;padding:.05rem .35rem;font:inherit;font-size:12px;background:rgba(199,163,94,.08)}.v10-share-note{min-height:1.5em;margin:8px 0 0;color:var(--rikujin-gold-text-dim);font-size:12px}.v10-retry{margin-top:5px;border:0;padding-left:0;color:var(--rikujin-gold-text-dim)}
@media(max-width:760px){.v10-mode-grid,.v10-result-grid{grid-template-columns:1fr}.v10-mode{min-height:64px}.v10-result,.v10-animation-panel{padding:13px}.v10-board-column{position:static}.v10-card-copy{grid-template-columns:1fr}.v10-transmission{grid-template-columns:42px 34px 58px minmax(0,1fr);padding:8px;gap:5px}.v10-calendar-head{align-items:flex-start;flex-direction:column;gap:3px}}
/* v21: SPは盤面を作り込んでいるため一番上に見せる（従来はcopy-columnにorder:-1を当てて
   テキストを先頭にしていたが、盤面を主役に戻すためDOM順（盤面→本文）のまま表示する） */

/* v21: 初伝・中伝・末伝を色で区別（五行連動ではなく固定3色の簡易版。五行カードの配色とは意図的に別系統にして混同を避ける） */
.v10-transmission{border-left-width:3px}
.v10-transmission--first{border-left-color:#F0DBA0}
.v10-transmission--first .branch,.v10-transmission--first .general{color:#F0DBA0}
.v10-transmission--second{border-left-color:#D98C4A}
.v10-transmission--second .branch,.v10-transmission--second .general{color:#D98C4A}
.v10-transmission--third{border-left-color:#C1543A}
.v10-transmission--third .branch,.v10-transmission--third .general{color:#C1543A}


/* v21: 保存／共有ボタンを16タイプ・エニアグラム等の診断ツールと同じピル型ボタン意匠に統一。
   アイコンボックスは廃止し、テキストのみのシンプルなボタンに変更（diagnosis.css の .diag-btn 系に準拠）。 */
.v10-share-actions{display:grid;grid-template-columns:1fr;gap:.9rem;margin-top:14px}
.v10-share-stack{display:flex;flex-direction:column;gap:.7rem}
.v10-share-post{display:flex;flex-direction:column;gap:.6rem}
.v10-btn{appearance:none;border:1px solid var(--rikujin-gold-edge-dim);background:transparent;color:var(--rikujin-gold-text);font:inherit;border-radius:999px;padding:.72rem 1.2rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;min-height:48px;transition:border-color .18s ease,background .18s ease,color .18s ease}
.v10-btn:hover:not(:disabled){background:rgba(199,163,94,.12);border-color:var(--rikujin-gold-edge)}
.v10-btn:disabled{opacity:.42;cursor:not-allowed}
.v10-btn--primary{background:var(--rikujin-gold-edge);color:#14110c;border-color:var(--rikujin-gold-edge);font-weight:700}
.v10-btn--primary:hover:not(:disabled){filter:brightness(1.06);background:var(--rikujin-gold-edge);color:#14110c}

/* v12: Observation AI handoff beneath the save-card action */
.v10-observation-ai{position:relative;display:block;padding:11px 14px;text-align:left;border:1px solid rgba(199,163,94,.28);border-radius:9px;background:linear-gradient(180deg,rgba(199,163,94,.075),rgba(199,163,94,.025));color:var(--rikujin-gold-text);text-decoration:none;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.v10-observation-ai:hover,.v10-observation-ai:focus-visible{border-color:var(--rikujin-gold-edge);background:rgba(199,163,94,.09);outline:0;transform:translateY(-1px)}
.v10-observation-ai small,.v10-observation-ai strong,.v10-observation-ai span{display:block}
.v10-observation-ai small{margin-bottom:4px;color:var(--rikujin-gold-text-dim);font-size:11px;letter-spacing:.16em}
.v10-observation-ai strong{color:var(--rikujin-gold-text-bright);font-size:13px;line-height:1.45}
.v10-observation-ai span{margin-top:4px;color:var(--rikujin-gold-text-dim);font-size:12px;line-height:1.6}
@media(min-width:680px){.v10-share-actions{grid-template-columns:1fr 1fr}}

/* v14: board dead-space legend (三伝の読み方) below the board note */
.v10-board-legend{margin:12px auto 0;max-width:560px;padding:10px 12px;border:1px solid rgba(199,163,94,.18);border-radius:9px;background:rgba(199,163,94,.03)}
.v10-board-legend-title{margin:0 0 7px;color:var(--rikujin-gold-text-dim);font-size:12px;letter-spacing:.1em;text-align:center}
.v10-board-legend dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}
.v10-board-legend dl>div{text-align:center}
.v10-board-legend dt{margin:0;color:var(--rikujin-gold-text-bright);font-size:12px;font-weight:700}
.v10-board-legend dd{margin:3px 0 0;color:var(--rikujin-gold-text-dim);font-size:12px;line-height:1.5}
@media(max-width:760px){.v10-board-legend dl{grid-template-columns:1fr;gap:5px}.v10-board-legend dl>div{display:flex;align-items:baseline;justify-content:center;gap:6px}}

/* v15: 作盤アニメーション中はヘッダーを詰め、PCの一般的な高さでも盤面が
   画面下に見切れにくいようにする。input-panel／result-panelの見た目には影響しない。 */
body.v10-animating .v10-header{margin-bottom:6px}
body.v10-animating .v10-badge{display:none}
body.v10-animating .v10-header>p:not(.v10-runtime-check){display:none}
body.v10-animating .v10-runtime-check{display:none}
body.v10-animating .v10-header h1{margin:4px 0 0;font-size:20px}
body.v10-animating .v10-animation-panel{padding-top:10px}
@media(max-height:860px){#animation-board-host .rikujin-board-container{width:min(78vw,580px)}}
/* v24 (2026-09-17): 承認版地盤（/review/rikujin-corners/ の rikujin-v10-review.css）から欠落していた盤面ルールを復元。
   四隅の斜め帯を濃色で塗り、手前の帯として見せる（透明帯に戻さない）。 */
.v10-review-app .earth-frame { fill:#110f0c; }
.v10-review-app .v10-corner-band-fill { fill:#110f0c; stroke:none; }
.v10-review-app .v10-corner-side { stroke:var(--rikujin-gold-edge-dim); stroke-width:1; opacity:.68; }
.v10-review-app .v10-outer-frame-overlay { fill:none; stroke:var(--rikujin-gold-edge); stroke-width:3.2; pointer-events:none; }

/* WEB-195 (2026-09-25): 六壬の公開ページを getComputedStyle で実測し、12px未満のテキストを
   「情報」と「装飾」に切り分けた。情報側の6箇所だけを 11px → 12px へ引き上げた。

   引き上げ（情報）:
     .v10-animation-choice-head small   演出モードを記憶する旨の説明
     .v10-animation-button span         演出3択の説明（顕現演出まで／短い作盤演出／すぐ結果へ）
     .v10-result-calendar               結果に紐づく暦情報
     .v10-transmission .meaning span    初伝・中伝・末伝それぞれの意味（読み解きの本体）
     .v10-observation-ai span           観測AIは六壬専用ではない旨の注意書き
     .v10-board-legend dd               三伝の読み方

   据え置き（装飾）:
     .v10-observation-ai small  "OBSERVATION AI" の見出しラベル。字間 .16em のアイブロウで、
                                読む文ではなくブロックの識別記号のため 11px を維持する。
     .v10-board-note            v10-review.html 専用の盤面仕様メモ。公開ページからは本文ごと
                                削除したため、表示サイズの対象にしない。 */

/* WEB-237 追補 (2026-10-02): このファイルを読む /tools/rikujin/ と /tools/rikujin/preview.html は
   共通の reduced-motion ガード（static/style.css = build/static/bundle-core-v1.css の
   `*` ルール）を読まない。残り288ページでは同じ種類のトランジションが .01ms に潰れているので、
   この2ページだけがルールから漏れていた状態を解消する（WEB-237 本体と同じ「取りこぼしの是正」）。
   対象はこのファイルが配っている動き2件だけ。見た目・配色・文言は変えていない。
     .v10-btn             枠線・背景・文字色の .18s トランジション
     .v10-observation-ai  枠線・背景の .18s ＋ hover/focus の translateY(-1px)
   ゲーム本体のような「意図して残す opacity フェード」はこのファイルには無い。 */
@media (prefers-reduced-motion: reduce){
.v10-btn{transition:none}
.v10-observation-ai{transition:none}
.v10-observation-ai:hover,.v10-observation-ai:focus-visible{transform:none}
}
