#bazi-container select.bazi-select[hidden] { display:none!important; }
.manual-bazi-trigger { display:inline-grid; place-items:center; min-width:44px; min-height:48px; padding:2px 5px; border:0; border-bottom:1px solid #a7947566; border-radius:0; background:transparent; font:700 30px/1.2 var(--font-serif,serif); cursor:pointer; }
.manual-correction-entry { min-height:44px; margin-top:12px; padding:8px 18px; border:1px solid #9c8562; background:transparent; color:#695234; font:16px var(--font-serif,serif); cursor:pointer; }
.manual-correction-dialog { box-sizing:border-box; width:min(520px,calc(100% - 24px)); max-width:none; max-height:calc(100dvh - 24px); padding:0; border:1px solid #af9977; border-radius:3px; color:#302c25; background:#faf6eb; background-image:var(--manuscript-paper); font:16px/1.5 var(--font-serif,serif); box-shadow:0 12px 45px #18110d55; overflow:auto; overscroll-behavior:contain; }
.manual-correction-dialog::backdrop { background:#211b1599; }
.manual-correction-dialog * { box-sizing:border-box; font-family:var(--font-serif,serif); }
.manual-correction-dialog button { cursor:pointer; touch-action:manipulation; }
.manual-correction-dialog button:focus-visible,.manual-bazi-trigger:focus-visible,.manual-correction-entry:focus-visible { outline:2px solid #9c382d; outline-offset:3px; }
.correction-body { padding:20px; }
.correction-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.correction-heading h2 { margin:0; font-size:24px; font-weight:600; }
.correction-close { min-width:44px; min-height:44px; padding:6px; border:0; color:#74634e; background:transparent; font-size:15px; }
.correction-help { margin:8px 0 16px; color:#746854; font-size:15px; line-height:1.6; }
.correction-context { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.correction-pillar { min-width:0; min-height:80px; padding:8px 2px; border:1px solid #c4b69d; background:transparent; border-radius:2px; }
.correction-pillar[aria-pressed="true"] { background:#eee5d4; border-color:#994434; box-shadow:inset 0 -2px #994434; }
.correction-context-label { display:block; font-size:15px; color:#695c4a; }
.correction-context-chars { display:flex; gap:3px; justify-content:center; font-size:26px; line-height:1.5; }
#correction-editing { margin:18px 0 10px; font-size:18px; font-weight:600; }
.correction-parts { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:12px; }
.correction-part { min-height:44px; border:1px solid #bfae91; border-radius:2px; background:transparent; color:#695a45; font-size:16px; }
.correction-part[aria-pressed="true"] { color:#913c2d; border-color:#913c2d; background:#a23c3010; }
.correction-options { display:grid; grid-template-columns:repeat(var(--correction-columns,4),minmax(0,1fr)); gap:8px; }
.correction-choice { min-width:44px; min-height:52px; padding:5px; border:1px solid #c5b79e; border-radius:2px; background:#fffdf580; font-size:27px; line-height:1.3; }
.correction-choice[aria-pressed="true"] { border:2px solid #944333; background:#ece2ce; box-shadow:inset 0 0 0 2px #faf6eb; }
.correction-actions { position:sticky; bottom:0; display:grid; grid-template-columns:1fr 1.4fr; gap:12px; padding:14px 20px max(16px,env(safe-area-inset-bottom)); border-top:1px solid #ccbea4; background:#faf6eb; }
.correction-actions button { min-height:48px; border:1px solid #a78d68; border-radius:2px; font-size:17px; }
.correction-cancel { color:#67543a; background:transparent; }
.correction-apply { color:#fff8ea; background:#9e4031; border-color:#9e4031!important; }
@media(max-width:540px) { .manual-correction-dialog { margin:auto auto 8px; width:calc(100% - 16px); max-height:calc(100dvh - 16px); } .correction-body { padding:16px; } .correction-actions { padding-left:16px; padding-right:16px; } }
