/* Screen controls only: worksheet and print geometry stay independent. */
.phoneme-sound-picker{display:none}
@media screen{
 body.phoneme-task .phoneme-sound-picker{display:grid;gap:16px;margin:16px 0 22px;padding:20px;border:1px solid #c9dcd8;border-radius:18px;background:linear-gradient(145deg,#f3faf7,#f3f6ff);color:#264640;min-width:0}
 .phoneme-sound-picker *{box-sizing:border-box}
 .phoneme-sound-picker button{font:inherit;cursor:pointer;min-width:0;box-shadow:none;transition:background .12s,border-color .12s}
 .phoneme-sound-picker button:focus-visible{outline:3px solid #3b6db5;outline-offset:3px}
 .phoneme-sound-picker button:disabled{opacity:.45;cursor:default}
 .sound-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
 .sound-picker-heading h3{font-size:19px;margin:4px 0 0;color:#264640;line-height:1.4}
 .sound-picker-eyebrow{font-size:11px;letter-spacing:.08em;color:#52776e;font-weight:700}
 .sound-picker-badge{background:#fff4ce;color:#785b0d;border:1px solid #e7d497;padding:6px 9px;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap}
 .sound-picker-intro,.sound-action-help,.sound-table-hint,.sound-condition-summary{margin:0;font-size:12px;line-height:1.8;color:#526c65;overflow-wrap:anywhere}
 .phoneme-sound-picker fieldset{border:0;padding:0;margin:0;min-width:0}
 .phoneme-sound-picker legend{padding:0;margin-bottom:8px;font-weight:700;font-size:13px}
 .sound-segments{display:flex;gap:5px;padding:4px;background:#e5eeea;border-radius:11px}
 .sound-segments button{flex:1;border:1px solid transparent;border-radius:8px;background:transparent;color:#526c65;font-size:13px;min-height:40px;padding:8px 4px;line-height:1.5}
 .sound-segments button[aria-pressed=true]{background:#fff;color:#1d6551;border-color:#b4d2c5;font-weight:700;box-shadow:0 2px 3px #234b3510}
 .sound-action{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .sound-action button{min-height:48px;font-size:13px;font-weight:700;border-radius:12px;padding:10px 4px;background:#fff;border:2px solid #d5e0dc;color:#526c65;line-height:1.6}
 .sound-action button span{font-size:18px;vertical-align:middle}
 .sound-action [data-sound-action=include][aria-pressed=true]{background:#1d715b;color:#fff;border-color:#1d715b}
 .sound-action [data-sound-action=exclude][aria-pressed=true]{background:#a34742;color:#fff;border-color:#a34742}
 .sound-action-help{margin-top:-10px;min-height:22px}
 .phoneme-sound-picker[data-action=exclude] .sound-action-help{color:#923e39}
 .sound-type-shortcuts>div{display:flex;gap:7px;flex-wrap:wrap}
 .sound-type-shortcuts button{display:flex;align-items:center;gap:4px;background:#fff;border:1px solid #bdcfc8;border-radius:9px;padding:8px 11px;color:#385e51;font-size:13px;min-height:40px}
 .sound-type-shortcuts button[data-state=include]{background:#e0f3e9;border:2px solid #277b5e;padding:7px 10px;color:#185d46;font-weight:700}
 .sound-type-shortcuts button[data-state=exclude]{background:#fff0ee;border:2px solid #b65b54;padding:7px 10px;color:#943c36;font-weight:700}
 .sound-type-mark{font-size:16px;line-height:1}
 .sound-table-disclosure{background:#fff;border:1px solid #d2dfdc;border-radius:12px;min-width:0;overflow:hidden}
 .sound-table-disclosure>summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:14px;font-size:13px;font-weight:700}
 .sound-table-disclosure>summary:before{content:'▸';font-size:12px;color:#2a7860}
 .sound-table-disclosure[open]>summary:before{content:'▾'}
 .sound-table-disclosure>summary::-webkit-details-marker{display:none}
 .sound-table-disclosure>summary>span{font-size:11px;color:#668077;font-weight:500;margin-left:auto}
 .sound-group-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:0 12px 12px}
 .sound-group-tabs button{border:1px solid transparent;background:#eef3f2;border-radius:8px;color:#56706a;font-size:12px;padding:9px 4px;min-height:42px;line-height:1.5}
 .sound-group-tabs button[aria-selected=true]{background:#eaf0fc;border-color:#7c9fcc;color:#2d5689;font-weight:700}
 .sound-table-disclosure [role=tabpanel]{padding:0 14px 14px;max-height:390px;overflow:auto;scrollbar-gutter:stable}
 .sound-table-disclosure [role=tabpanel][hidden]{display:none}
 .sound-table-hint{font-size:11px;margin:0 0 10px}
 .phoneme-kana-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;align-items:stretch}
 .phoneme-kana-grid.has-bulk{grid-template-columns:minmax(32px,.8fr) repeat(5,minmax(0,1fr))}
 .phoneme-kana-grid .phoneme-kana-key{position:relative;background:#fff;border:1px solid #c6d6d0;border-radius:9px;min-height:44px;padding:7px 0;color:#34524a;font-size:18px;font-weight:600;line-height:1.4}
 .phoneme-kana-key i{position:absolute;right:3px;top:0;font-style:normal;font-size:12px;line-height:1.4}
 .phoneme-kana-grid .phoneme-kana-key:hover{background:#f3f8f5;border-color:#699683}
 .phoneme-kana-grid .phoneme-kana-key[data-state=include]{background:#def3e7;border:2px solid #277b5e;color:#185d46;padding:6px 0}
 .phoneme-kana-grid .phoneme-kana-key[data-state=exclude]{background:#ffebe8;border:2px solid #b65b54;color:#943c36;padding:6px 0}
 .phoneme-kana-grid .sound-bulk{background:#edf3fa;border:1px solid #cedbee;color:#3d5e89;border-radius:7px;min-height:40px;padding:5px 0;font-size:12px;line-height:1.5}
 .phoneme-kana-grid [data-sound-column],.phoneme-kana-grid-corner{position:sticky;top:0;z-index:1}
 .sound-bulk[aria-pressed=true]{background:#d5e4fa!important;border-color:#5680b6!important;font-weight:700}
 .sound-bulk[data-partial=true]{border-style:dashed!important;border-color:#5680b6!important}
 .sound-selection-summary{display:grid;gap:10px;background:#ffffffbd;border:1px solid #d6e3dc;padding:12px;border-radius:12px}
 .sound-selection-line>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
 .sound-selection-line b{font-size:12px;color:#276e55}.sound-selection-line.exclude b{color:#a14c45}
 .sound-selection-line>div:first-child button{padding:3px 7px;font-size:11px;background:none;border:0;color:#526c65;text-decoration:underline;min-height:28px}
 .sound-selection-line>div:last-child{display:flex;gap:5px;flex-wrap:wrap;max-height:145px;overflow:auto}
 .sound-selection-line>div:last-child button{border:1px solid #a8cdbb;color:#225e47;background:#e8f6ed;border-radius:7px;padding:5px 8px;font-size:13px;min-height:34px}
 .sound-selection-line.exclude>div:last-child button{border-color:#ddb1ac;color:#8f3e38;background:#fff0ed}
 .sound-none{font-size:12px;color:#7a8e86;padding:4px 0}
 .sound-match .sound-segments{background:#e9edf5}.sound-match .sound-segments button[aria-pressed=true]{color:#375e92;border-color:#bacbe3}
 .sound-condition-summary{background:#edf4ee;padding:10px 12px;border-radius:8px}
 .sound-picker-result{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid #cdded6;padding-top:14px}
 .sound-picker-result>b{font-size:13px;color:#326c55}
 .sound-picker-result button{background:#236d58;border:1px solid #236d58;color:#fff;border-radius:9px;padding:11px 14px;font-size:13px;font-weight:700;min-height:44px}
 .phoneme-sound-picker .sound-reset{justify-self:start;background:none;border:0;text-decoration:underline;text-underline-offset:3px;color:#5f776d;font-size:12px;padding:5px 0}
}
@media screen and (max-width:1000px){body.phoneme-task .phoneme-sound-picker{padding:14px;gap:14px}.sound-group-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.sound-picker-heading h3{font-size:17px}.sound-picker-badge{font-size:11px}.phoneme-kana-grid{gap:4px}}
@media screen and (max-width:380px){body.phoneme-task .phoneme-sound-picker{padding:10px}.sound-table-disclosure [role=tabpanel]{padding:0 8px 10px}.sound-group-tabs{padding:0 8px 10px}.sound-picker-heading{gap:6px}.sound-picker-badge{padding:5px 6px}.phoneme-kana-grid .phoneme-kana-key{font-size:16px}.sound-action button{font-size:12px}}
