.routine-characters{margin:1rem 0;padding:1rem;border:1px solid #203a55;border-radius:18px;background:#091827}
.routine-characters h2{font-size:1.25rem;margin:0 0 .75rem}
.character-controls{display:flex;align-items:end;gap:.6rem;flex-wrap:wrap}
.character-controls label{display:grid;gap:.4rem;flex:1 1 180px}
.routine-characters select,.routine-characters button,.task-minutes input{min-height:44px;border:1px solid #315a76;border-radius:10px;background:#071522;color:#eef8ff;padding:.55rem .7rem;font:inherit;max-width:100%}
.routine-characters button{cursor:pointer}.routine-characters p{color:#9fb3c7}
.character-controls select{width:100%}.session-plan{margin-top:1rem;border-top:1px solid #203a55;padding-top:1rem}
.session-plan ol{padding-left:1.5rem}.session-plan li{margin:.5rem 0;overflow-wrap:anywhere}
.task-minutes{grid-column:2/-1;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;font-size:.875rem;color:#9fb3c7}
.task-minutes input{width:100px}.routine-characters button:disabled{opacity:.5;cursor:default}
@media(max-width:520px){.character-controls{display:grid;grid-template-columns:minmax(0,1fr)}.character-controls label{min-width:0}.character-controls button{width:100%}}
