body { background: #eef4f6; }
.kit-page { max-width: 1180px; margin: auto; padding: 20px 24px 72px; color: #172f3a; }
.kit-page .site-nav { border-bottom: 1px solid #c4d4db; padding-inline: 0; }
.kit-header { display: grid; grid-template-columns: 1fr 240px; gap: 48px; padding: 44px 0 36px; align-items: center; }
.kit-header h1 { font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.2; letter-spacing: -.04em; }
.kit-header p { max-width: 620px; margin-top: 20px; color: #405966; line-height: 1.85; }
.kit-route { display: grid; border-left: 4px solid #177f86; gap: 0; }
.kit-route span { padding: 10px 20px; border-bottom: 1px solid #c4d4db; font-weight: 700; }
.kit-layout { display: grid; grid-template-columns: 310px minmax(0, 1fr); gap: 24px; align-items: start; }
.kit-setup { background: #163e51; color: #fff; padding: 24px; border-radius: 14px; }
.kit-page h2 { font-size: 1.4rem; line-height: 1.4; margin-bottom: 18px; }
.kit-page h3 { font-size: 1.15rem; line-height: 1.5; }
#kit-form { display: grid; gap: 10px; }
#kit-form label { font-size: .88rem; font-weight: 700; margin-top: 10px; display: block; }
.kit-page input:not([type="checkbox"]), .kit-page select, .kit-page textarea { width: 100%; min-width: 0; font: inherit; padding: 11px 12px; border: 1px solid #b0c4ce; background: #fff; color: #172f3a; border-radius: 7px; }
.kit-page textarea { resize: vertical; line-height: 1.6; }
.setup-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.setup-pair label { margin-bottom: 10px; }
.field-hint { font-size: .84rem; line-height: 1.7; color: #49616d; }
.kit-setup .field-hint { color: #d4e5ed; }
.kit-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 12px 0; }
.kit-button { border: 1px solid #b0c4ce; border-radius: 7px; padding: 10px 14px; min-height: 44px; font: inherit; font-weight: 700; cursor: pointer; background: #fff; color: #163e51; }
.kit-button.primary { background: #147b80; border-color: #147b80; color: #fff; }
.kit-setup .primary { background: #d8f16f; color: #163e51; border-color: #d8f16f; }
.kit-button.danger { color: #913c2a; }
.kit-page button:hover { filter: brightness(.96); }
.kit-page button:focus-visible, .kit-page input:focus-visible, .kit-page textarea:focus-visible, .kit-page select:focus-visible, .kit-page a:focus-visible, .kit-page summary:focus-visible { outline: 3px solid #209daa; outline-offset: 3px; }
.kit-status { line-height: 1.6; font-size: .88rem; min-height: 1.4em; }
.kit-workspace { background: #fff; padding: 28px; border-radius: 14px; min-width: 0; }
.kit-empty { padding: 28px 0; border-block: 1px solid #c4d4db; }
.kit-empty p { margin-top: 18px; line-height: 1.85; color: #49616d; }
.session-heading { display: flex; gap: 12px; justify-content: space-between; align-items: start; margin-bottom: 12px; }
.session-heading h3, .session-heading p { overflow-wrap: anywhere; }
.session-heading p { line-height: 1.7; color: #49616d; margin-top: 6px; }
#session-progress { flex-shrink: 0; font-size: .82rem; background: #e4f0f1; padding: 6px 10px; border-radius: 6px; }
.session-teams { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 18px 0 28px; }
.session-team { border-left: 3px solid #147b80; padding: 4px 14px 12px; background: #f3f8f8; }
.session-team p { margin-top: 8px; font-size: .88rem; line-height: 1.7; overflow-wrap: anywhere; }
.session-team ul { padding-left: 18px; margin-top: 8px; font-size: .84rem; line-height: 1.8; }
.running-stage { padding: 20px; background: #e9f3f3; border-radius: 8px; margin-bottom: 22px; }
#timer-stage { margin: 10px 0; }
.timer-controls { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
#stage-clock { font: 700 2rem/1.2 ui-monospace, monospace; font-variant-numeric: tabular-nums; margin-right: 8px; }
.session-plan { list-style: none; padding: 0; }
.session-plan li { border-top: 1px solid #c4d4db; padding: 20px 0; }
.stage-heading { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.stage-heading label { display: flex; align-items: center; gap: 8px; font-size: .9rem; }
.stage-heading input { width: 20px; height: 20px; }
.stage-time { color: #147b80; font-weight: 700; font-size: .86rem; }
.session-plan p { color: #405966; margin: 10px 0; line-height: 1.75; }
.session-plan blockquote { padding: 12px 16px; margin: 12px 0; background: #f3f6f7; color: #172f3a; line-height: 1.85; border-left: 3px solid #7895a3; }
.session-notes { margin: 24px 0; }
.session-notes label { display: block; margin: 10px 0; font-size: .88rem; }
.kit-editorial { margin-top: 44px; border-top: 2px solid #147b80; padding-top: 28px; }
.kit-editorial p, .kit-editorial li { line-height: 1.85; color: #405966; max-width: 78ch; }
.kit-editorial h2:not(:first-child) { margin-top: 32px; }
.kit-editorial ul { padding-left: 24px; display: grid; gap: 12px; }
.kit-editorial a { color: #12666d; font-weight: 700; }
.example-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 24px; }
.example-grid section { border-top: 1px solid #b0c4ce; padding-top: 18px; }
.example-grid p { margin: 12px 0; }
[hidden] { display: none !important; }
@media (max-width: 850px) { .kit-layout { grid-template-columns: 1fr; } .kit-header { grid-template-columns: 1fr; gap: 24px; } .kit-route { display: flex; flex-wrap: wrap; } .kit-route span { padding: 8px 12px; } .example-grid { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .kit-page { padding-inline: 16px; } .kit-workspace, .kit-setup { padding: 20px 16px; } .session-teams { grid-template-columns: 1fr; } .session-heading { flex-direction: column; } .kit-header { padding-top: 30px; } }
.print-notes { display: none; }
@media print { body { background: white; } .kit-page { max-width: none; padding: 0; } .site-nav, .kit-header, .kit-setup, .kit-actions, .running-stage, .kit-editorial, #clear-session, #record-status, .session-plan button, .record-fallback { display: none !important; } .kit-layout { display: block; } .kit-workspace { padding: 0; } .session-team, .session-plan li { break-inside: avoid; } #meeting-notes { display: none; } .print-notes { display: block; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; } .session-teams { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.site-nav { flex-wrap: wrap; }
.kit-tool { border: 1px solid #c4d4db; border-radius: 9px; padding: 16px; margin: 18px 0; background: #f7fafb; min-width: 0; }
.kit-tool summary { cursor: pointer; font-weight: 750; line-height: 1.6; }
.kit-tool label:not(.kit-check) { display:block; margin:14px 0 6px; font-size:.87rem; font-weight:700; }
.kit-tool .kit-check { display:flex; gap:10px; align-items:start; margin:16px 0; font-size:.87rem; line-height:1.7; }
.kit-check input { flex:0 0 20px; width:20px; height:20px; margin-top:3px; }
.kit-tool .field-hint { margin:12px 0; }
.kit-tool > button { margin-top:12px; }
.kit-log { padding-left:22px; font-size:.85rem; line-height:1.8; overflow-wrap:anywhere; }
#support-script { margin:16px 0; padding:14px; border-left:3px solid #147b80; line-height:1.85; background:white; }
#support-next { font-size:.9rem; line-height:1.85; }
.kit-history { margin-top:32px; background:#fff; border-radius:14px; padding:24px; }
.history-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:20px 0; }
.history-card { border:1px solid #c4d4db; border-radius:9px; padding:16px; min-width:0; }
.history-card p { margin:10px 0; font-size:.86rem; line-height:1.75; overflow-wrap:anywhere; }
.history-card label { display:block; margin:10px 0 6px; font-size:.85rem; font-weight:700; }
.history-card .kit-button { font-size:.84rem; }
#case-output a { color:#12666d; font-weight:700; display:inline-block; margin-top:12px; }
@media(max-width:600px) { .history-grid { grid-template-columns:1fr; } .kit-history { padding:20px 16px; } .kit-tool { padding:12px; } }
@media print { .kit-tool, .kit-history { display:none !important; } }
.notice-tool { margin-top: 24px; }
.notice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.notice-tool textarea { font-size: .92rem; }
.notice-checklist, .notice-extra-list { list-style: none; padding: 0; margin: 12px 0; display: grid; gap: 8px; }
.notice-checklist label { display: flex; gap: 10px; align-items: flex-start; font-size: .92rem; line-height: 1.6; margin: 0; font-weight: 400; }
.notice-checklist input { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 3px; }
.notice-extra-list li { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; font-size: .88rem; }
.notice-extra-list .kit-button { min-height: 36px; padding: 4px 10px; font-size: .82rem; }
.notice-extra { margin-top: 18px; border-top: 1px solid #c4d4db; padding-top: 12px; }
.notice-print-title { display: none; font-weight: 700; margin: 8px 0; }
@media print {
    body.printing-notice .kit-page > :not(#notice-tool) { display: none !important; }
    body.printing-notice #notice-tool { display: block !important; border: 0; background: none; padding: 0; margin: 0; }
    body.printing-notice #notice-tool > :not(.notice-checklist-box), body.printing-notice .notice-extra, body.printing-notice .notice-checklist-box .kit-actions, body.printing-notice .notice-checklist-box > h3 { display: none !important; }
    body.printing-notice .notice-print-title { display: block; font-size: 1.2rem; }
}
