.skill-teacher{position:absolute;inset:0;z-index:485;display:grid;place-items:center;padding:12px;box-sizing:border-box;background:rgba(3,8,12,.88);color:#edf3ef;font-family:system-ui,sans-serif}.skill-teacher[hidden]{display:none!important}.skill-teacher *{box-sizing:border-box}.skill-teacher__shell{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(940px,100%);height:min(610px,100%);overflow:hidden;border:1px solid #8d8052;border-radius:16px;background:linear-gradient(135deg,#22353b,#101c23);box-shadow:0 24px 70px #0008}.skill-teacher button{font:inherit;cursor:pointer;color:#eff5ef;border:1px solid #527578;border-radius:9px;background:#28454c;min-height:42px}.skill-teacher button:disabled{opacity:.48;cursor:default}.skill-teacher button:focus-visible{outline:2px solid #f1d37d;outline-offset:2px}.skill-teacher__header{display:grid;grid-template-columns:54px 1fr 40px;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #56747666}.skill-teacher__portrait{width:48px;height:62px;image-rendering:pixelated;overflow:hidden}.skill-teacher__header h2{margin:2px 0;font:700 clamp(17px,3vw,25px)/1.15 Georgia,serif;color:#f0ddaa}.skill-teacher__header small{font-size:11px;color:#91c9c7}.skill-teacher__header p{margin:3px 0;font-size:12px;color:#bbc9ca}.skill-teacher__header button{font-size:25px;min-height:38px}.skill-teacher__balance{display:flex;justify-content:space-between;gap:8px;padding:8px 18px;font-size:12px;color:#a8c0bd;background:#07111866}.skill-teacher__balance strong{white-space:nowrap;color:#ecd07d}.skill-teacher__body{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(0,1.15fr);gap:14px;min-height:0;padding:14px 18px;overflow:hidden}.skill-teacher__catalog{display:grid;grid-template-rows:minmax(0,1fr) 42px;gap:9px;min-height:0}.skill-teacher__cards{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:8px;min-height:0}.skill-teacher__card{display:grid;grid-template-columns:42px minmax(0,1fr) 17px;gap:9px;align-items:center;min-width:0;padding:10px;text-align:left;background:#152931!important}.skill-teacher__card.is-selected{border-color:#e8c878;background:#365354!important}.skill-teacher__card small,.skill-teacher__card strong,.skill-teacher__card em{display:block}.skill-teacher__card small{font-size:10px;color:#9fbdbb}.skill-teacher__card strong{font-size:13px;line-height:1.2;margin:3px 0}.skill-teacher__card em{font-style:normal;font-size:11px;color:#e8cf8f}.skill-teacher .action-icon{display:block;width:40px;height:40px;flex:none}.skill-teacher__state{font-size:13px;color:#aba789}.skill-teacher .is-met{color:#8ce0b5}.skill-teacher .is-missing{color:#efad99}.skill-teacher__catalog nav{display:grid;grid-template-columns:44px 1fr 44px;gap:8px;align-items:center;text-align:center;font-size:12px;color:#a8c6c3}.skill-teacher__catalog nav button{font-size:24px}.skill-teacher__detail{min-height:0;overflow:hidden;padding:13px;border:1px solid #49686a88;border-radius:12px;background:#0d1921bb}.skill-teacher__welcome,.skill-teacher__ability,.skill-teacher__confirm{display:flex;flex-direction:column;height:100%;min-height:0}.skill-teacher__detail h3{margin:4px 0 8px;font:700 20px/1.15 Georgia,serif;color:#f1ddab}.skill-teacher__detail p{margin:6px 0 9px;line-height:1.4;font-size:13px;color:#bdceca}.skill-teacher__welcome small{margin-top:auto;line-height:1.4;color:#a2bcb9;font-size:11px}.skill-teacher__ability-title{display:flex;align-items:center;gap:10px}.skill-teacher__ability-title h3{margin:0;font-size:19px}.skill-teacher dl{display:flex;gap:18px;margin:7px 0;padding-block:9px;border-block:1px solid #45656a66}.skill-teacher dt{font-size:10px;color:#9db6b5}.skill-teacher dd{margin:3px 0 0;font-size:13px;color:#eed59d}.skill-teacher__requirements{display:grid;gap:5px;font-size:11px;line-height:1.3;margin:7px 0}.skill-teacher__actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:auto;padding-top:8px}.skill-teacher__actions button{font-size:11px;padding:7px;background:#23666d}.skill-teacher__actions button+button{background:#283e48}.skill-teacher__confirm>strong{color:#ecd482;margin:12px 0}.skill-teacher__confirm>small{font-size:11px;color:#a4c7c0}.skill-teacher__footer{min-height:40px;padding:10px 18px;font-size:11px;line-height:1.3;color:#b9cec8;border-top:1px solid #49656777}
@media(max-width:600px) and (orientation:portrait){.skill-teacher{padding:4px}.skill-teacher__shell{height:100%;border-radius:10px}.skill-teacher__header{padding:9px 11px;gap:8px}.skill-teacher__header h2{font-size:18px}.skill-teacher__balance{padding:7px 11px;font-size:10px}.skill-teacher__body{grid-template-columns:1fr;grid-template-rows:minmax(155px,.85fr) minmax(215px,1.15fr);padding:8px 11px;gap:7px}.skill-teacher__catalog{grid-template-rows:minmax(0,1fr) 36px;gap:5px}.skill-teacher__cards{gap:4px}.skill-teacher__card{padding:5px 9px;grid-template-columns:34px minmax(0,1fr) 15px;min-height:0}.skill-teacher__card .action-icon{width:30px;height:30px}.skill-teacher__card strong{font-size:11px;margin:1px 0}.skill-teacher__card small,.skill-teacher__card em{font-size:9px}.skill-teacher__catalog nav button{min-height:34px}.skill-teacher__detail{padding:9px}.skill-teacher__detail h3{font-size:17px}.skill-teacher__detail p{font-size:11px;line-height:1.3;margin:6px 0}.skill-teacher dl{margin:4px 0;padding-block:5px}.skill-teacher__requirements{font-size:10px;gap:3px;margin:5px 0}.skill-teacher__actions{padding-top:5px}.skill-teacher__actions button{min-height:38px}.skill-teacher__footer{font-size:10px;padding:7px 11px;min-height:32px}}
@media(max-height:500px) and (orientation:landscape){.skill-teacher{padding:0}.skill-teacher__shell{height:100%;border-radius:0}.skill-teacher__header{padding:5px 12px;grid-template-columns:28px 1fr 36px;gap:8px}.skill-teacher__portrait{width:24px;height:32px}.skill-teacher__header h2{font-size:17px}.skill-teacher__header small,.skill-teacher__header p,.skill-teacher__balance>span{display:none}.skill-teacher__balance{padding:4px 12px;justify-content:flex-end;font-size:11px}.skill-teacher__body{gap:8px;padding:7px 12px;grid-template-columns:minmax(205px,.8fr) minmax(0,1.2fr)}.skill-teacher__card{padding:5px 8px;gap:6px;grid-template-columns:32px 1fr 15px}.skill-teacher__card .action-icon{width:28px;height:28px}.skill-teacher__card small,.skill-teacher__card em{font-size:9px}.skill-teacher__card strong{font-size:11px;margin:1px 0}.skill-teacher__catalog{grid-template-rows:minmax(0,1fr) 35px;gap:4px}.skill-teacher__catalog nav button{min-height:34px}.skill-teacher__detail{padding:7px 9px}.skill-teacher__detail h3{font-size:16px}.skill-teacher__detail p{font-size:10px;line-height:1.25;margin:5px 0}.skill-teacher dl{padding:4px 0;margin:3px 0}.skill-teacher dt,.skill-teacher__requirements{font-size:9px}.skill-teacher dd{font-size:11px;margin:1px 0}.skill-teacher__requirements{gap:2px;margin:4px 0}.skill-teacher__actions{padding-top:4px}.skill-teacher__actions button{min-height:33px;padding:4px;font-size:10px}.skill-teacher__footer{font-size:9px;min-height:26px;padding:6px 12px}}
.npc-dialogue__portrait[data-skill-teacher="true"]::before,
.npc-dialogue__portrait[data-skill-teacher="true"]::after { display: none; }
.npc-dialogue__portrait[data-skill-teacher="true"] .skill-teacher__portrait {
  display: block; width: 100%; height: 100%; padding: 8px; image-rendering: pixelated;
}
/* A selected technique is a separate step on narrow phones. */
.skill-teacher__detail{display:grid;grid-template-rows:minmax(0,1fr)}.skill-teacher__detail-content{min-height:0;height:100%}.skill-teacher__back{display:none}
@media(max-width:520px){.skill-teacher__body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.skill-teacher[data-view=catalog] .skill-teacher__detail{display:none}.skill-teacher[data-view=detail] .skill-teacher__catalog{display:none}.skill-teacher[data-view=detail] .skill-teacher__detail{display:grid;grid-template-rows:36px minmax(0,1fr);gap:10px;height:100%}.skill-teacher[data-view=detail] .skill-teacher__back{display:block;min-height:36px;padding:5px 9px;font-size:11px;text-align:left;background:#253f47}.skill-teacher[data-view=detail] .skill-teacher__detail-content{min-height:0}.skill-teacher[data-view=catalog] .skill-teacher__cards{grid-template-rows:repeat(3,minmax(0,1fr))}.skill-teacher[data-view=catalog] .skill-teacher__card strong{font-size:14px}.skill-teacher[data-view=catalog] .skill-teacher__card small,.skill-teacher[data-view=catalog] .skill-teacher__card em{font-size:11px}.skill-teacher[data-view=catalog] .skill-teacher__card .action-icon{width:36px;height:36px}.skill-teacher[data-view=detail] .skill-teacher__detail p{font-size:12px;line-height:1.4}.skill-teacher[data-view=detail] .skill-teacher__requirements{font-size:11px;line-height:1.35;gap:6px;margin:10px 0}.skill-teacher[data-view=detail] .skill-teacher__actions button{min-height:44px}.skill-teacher[data-view=detail] .skill-teacher__ability-title h3{font-size:19px}.skill-teacher[data-view=detail] .skill-teacher__ability-title .action-icon{width:38px;height:38px}}
.skill-teacher__requirements span{min-width:0;overflow-wrap:anywhere}.skill-teacher__actions button{white-space:normal;overflow-wrap:anywhere}
@media(max-width:520px){.skill-teacher__header{grid-template-columns:42px minmax(0,1fr) 44px}.skill-teacher__header button{width:44px;min-height:44px}.skill-teacher__portrait{width:38px;height:48px}.skill-teacher__catalog{grid-template-rows:minmax(0,1fr) 44px}.skill-teacher__catalog nav button{min-height:44px}.skill-teacher__card{min-height:70px}.skill-teacher[data-view=detail] .skill-teacher__detail{grid-template-rows:44px minmax(0,1fr)}.skill-teacher[data-view=detail] .skill-teacher__back{min-height:44px}}
/* Preserve a complete touch target in landscape as well as portrait. */
.skill-teacher button,.skill-teacher__header button,.skill-teacher .skill-teacher__actions button,.skill-teacher__catalog nav button{min-height:44px}.skill-teacher__header{grid-template-columns:54px minmax(0,1fr) 44px}.skill-teacher__header button{width:44px}.skill-teacher__catalog{grid-template-rows:minmax(0,1fr) 44px}
@media(max-height:500px) and (orientation:landscape){.skill-teacher__header{grid-template-columns:28px minmax(0,1fr) 44px}}
@media(max-width:520px){.skill-teacher__header{grid-template-columns:42px minmax(0,1fr) 44px}}
