.oyashin-app{max-width:780px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.75;color:#222}.oy-head{padding:24px 4px}.oy-head h1{font-size:clamp(1.65rem,5vw,2.3rem);line-height:1.35;margin:.25rem 0 .6rem}.oy-kicker{font-weight:700;margin:0}.oy-card,.oy-question,.oy-progress,.oy-special,.oy-all{border:1px solid #ddd;border-radius:14px;padding:20px;margin:0 0 16px;background:#fff}.oy-card h2,.oy-special h3{font-size:1.22rem;margin:0 0 8px}.oy-progress{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.oy-bar{height:10px;border-radius:99px;background:#eee;overflow:hidden}.oy-bar span{display:block;height:100%;background:currentColor;opacity:.72}.oy-question{padding:18px}.oy-question legend{font-weight:700;padding:0 6px}.oy-help{font-size:.92rem}.oy-options{display:grid;gap:8px}.oy-choice{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid #ddd;border-radius:10px;cursor:pointer}.oy-choice input{margin-top:.35em}.oy-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.oy-btn{appearance:none;border:1px solid #222;background:#222;color:#fff;border-radius:10px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer}.oy-btn-secondary{background:#fff;color:#222}.oy-top-list{padding-left:1.4rem}.oy-task-card{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 0;border-top:1px solid #eee}.oy-task-card:first-of-type{border-top:0}.oy-task-card.is-done{opacity:.58}.oy-task-main h4{margin:0}.oy-task-id{font-size:.78rem;margin:0}.oy-status{max-width:145px;padding:8px;border-radius:8px}.oy-phase h3{margin-top:24px}.oy-special-card{padding:10px 0;border-top:1px solid #eee}.oy-special-card:first-of-type{border-top:0}.oy-storage,.oy-notice{font-size:.92rem}.oy-notice{border:1px solid #ddd;border-radius:10px;padding:12px;margin-bottom:16px}.oy-field{display:block;margin:14px 0;font-weight:600}.oy-field > input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:11px;border:1px solid #bbb;border-radius:8px;font:inherit}.oy-all summary{cursor:pointer;font-weight:700}@media(max-width:600px){.oy-card,.oy-question,.oy-progress,.oy-special,.oy-all{padding:15px}.oy-head{padding-top:12px}.oy-task-card{align-items:flex-start;flex-direction:column}.oy-status{width:100%;max-width:none}.oy-progress{grid-template-columns:1fr auto}.oy-bar{grid-column:1/-1;grid-row:2}}
.oy-deadline{display:inline-block;margin-top:6px;padding:3px 8px;border-radius:999px;border:1px solid #ccc;font-size:.8rem}
.oy-deadline-approaching{font-weight:700}
.oy-deadline-elapsed{font-weight:700}
.oy-deadline-unknown{opacity:.8}
.oy-task-link{font-size:.9rem;text-decoration:underline}
.oy-return-note{font-size:.95rem;padding:10px 12px;border:1px solid #ddd;border-radius:10px}
.oy-top-list li{margin:.55rem 0}
.oy-top-list .oy-deadline{display:block;width:max-content}

.oy-field textarea,.oy-field select{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:11px;border:1px solid #bbb;border-radius:8px;font:inherit;background:#fff}
.oy-fieldset{border:0;padding:0;margin:18px 0}
.oy-fieldset legend{font-weight:600;margin-bottom:6px}
#oyashin-handover .oy-options-inline,#oyashin-handover .oy-options-multi{display:flex;flex-wrap:wrap;gap:8px}
.oy-handover-actions{margin:0 0 16px}
.oy-data-settings{margin:16px 0;padding:14px;border:1px solid #ddd;border-radius:10px}
.oy-data-settings summary{cursor:pointer;font-weight:700}
.oy-danger-zone{margin-top:28px}
@media print{
  body *{visibility:hidden!important}
  #oyashin-app,#oyashin-app *,#oyashin-handover,#oyashin-handover *{visibility:visible!important}
  #oyashin-app,#oyashin-handover{position:absolute;left:0;top:0;width:100%;max-width:none}
  .oy-actions,.oy-handover-actions,.oy-data-settings,.oy-danger-zone,.oy-status,.oy-task-link{display:none!important}
  .oy-card,.oy-question,.oy-progress,.oy-special,.oy-all,.oy-task-card{break-inside:avoid;border-color:#bbb}
  .oy-all{display:block}
  .oy-all>summary{display:none}
}

.oy-handover-hint{font-size:.9rem;padding:8px 10px;border:1px solid #ddd;border-radius:8px;margin:.4rem 0 .7rem}

.oy-task-card.is-focused{outline:2px solid currentColor;outline-offset:3px}
.oy-article-nav{margin-top:32px;padding-top:20px;border-top:1px solid #ddd}
.oy-article-nav-actions{margin-bottom:16px}
.oy-article-nav a{text-decoration:underline}
.oy-article-related ul,.oy-article-index ul{padding-left:1.3rem}
.oy-article-special-note{font-size:.92rem;padding:10px 12px;border:1px solid #ddd;border-radius:10px}
.oy-index-section{margin:28px 0}


/* Keep each native control and its text together inside its choice label. */
#oyashin-handover .oy-choice{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  width:max-content;
  max-width:100%;
  min-height:44px;
  box-sizing:border-box;
  padding:8px 12px;
  writing-mode:horizontal-tb;
}
#oyashin-handover .oy-choice > input[type="radio"],
#oyashin-handover .oy-choice > input[type="checkbox"]{
  display:inline-block;
  flex:0 0 1em;
  width:1em;
  min-width:1em;
  height:1em;
  box-sizing:border-box;
  margin:0;
  padding:0;
  position:static;
  float:none;
}
#oyashin-handover .oy-choice > .oy-choice-text{
  display:inline-block;
  flex:0 0 auto;
  margin:0;
  padding:0;
  white-space:nowrap;
  writing-mode:horizontal-tb;
}

#oyashin-app .oy-progress{display:block}
#oyashin-app .oy-progress h2{font-size:1.2rem;margin:0 0 6px}
#oyashin-app .oy-progress p{margin:0 0 10px}
#oyashin-app .oy-top-list .oy-deadline{width:auto;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
#oyashin-app .oy-phase-steps{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  list-style:none;
  margin:12px 0 0;
  padding:0;
}
#oyashin-app .oy-phase-step{
  display:flex;
  gap:8px;
  min-width:0;
  padding:10px;
  border:1px solid #ddd;
  border-radius:10px;
}
#oyashin-app .oy-phase-step.is-current{border:2px solid currentColor}
#oyashin-app .oy-phase-symbol{flex:none;font-weight:700}
#oyashin-app .oy-phase-state,
#oyashin-app .oy-phase-step small{display:block}
#oyashin-app .oy-phase-state{font-weight:700}
#oyashin-app .oy-phase-step small{font-size:.82rem}
#oyashin-app .oy-phase h3 small{font-size:.82rem;font-weight:400}
@media(min-width:821px){
  #oyashin-app .oy-phase-step{display:block}
  #oyashin-app .oy-phase-symbol{display:block;margin-bottom:6px}
  #oyashin-app .oy-phase-step strong{display:block;font-size:.88rem;line-height:1.35}
}
@media(max-width:820px){
  #oyashin-app .oy-phase-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  #oyashin-app .oy-phase-steps{grid-template-columns:1fr}
}
@media print{
  #oyashin-app .oy-phase-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
