*{box-sizing:border-box}body{margin:0;background:#fff;color:#303b48;font:16px/1.75 system-ui,-apple-system,"Noto Sans JP",sans-serif}header{position:sticky;top:0;background:#fff;border-bottom:1px solid #dce3e8;z-index:3}.shell{max-width:1120px;margin:auto;padding:18px 22px}nav{display:flex;gap:20px;flex-wrap:wrap}nav a,a{color:#254e70}h1{font-size:clamp(1.65rem,4vw,2.8rem);line-height:1.4}h2{font-size:1.4rem;margin-top:2rem}.hero{padding:40px 0}.muted{color:#5d6b78}.notice{border:1px solid #d5dfe6;padding:12px 18px;border-radius:9px;background:#f8fafc}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card{border:1px solid #d7dfe6;border-radius:12px;padding:20px;background:white}.card h3{margin:0 0 8px}.tag{font-size:.85rem;color:#546675}button,select,input{font:inherit;border:1px solid #8b9ca9;border-radius:7px;padding:10px;background:white;color:#263949}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #507eac}label{display:flex;flex-direction:column;gap:4px}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.detail{margin-top:16px;border:1px solid #d7dfe6;border-radius:12px;padding:22px}.detail[hidden]{display:none}.two{display:grid;grid-template-columns:2fr 1fr;gap:20px}.placeholder{aspect-ratio:4/3;background:#f0f3f6;display:grid;place-items:center;color:#63717d;border-radius:10px;text-align:center;padding:20px}footer{border-top:1px solid #d7dfe6;margin-top:40px}@media(max-width:700px){.two{grid-template-columns:1fr}.shell{padding:14px 16px}.hero{padding:18px 0}}
.media-spec{margin-top:18px;padding:16px;border:1px solid #d7dfe6;border-radius:10px;background:#fafbfc}.media-spec h3{margin:0 0 8px;font-size:1rem}.media-spec p{margin:6px 0}

.profile-preview .preview-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.profile-preview .preview-head p{margin:0}.media-viewer{min-width:0}.slide-caption{min-height:1.75em;margin:0 0 8px;font-weight:600;color:#334c63}.slide-controls{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:12px}.slide-controls button:disabled{opacity:.4;cursor:not-allowed}.profile-preview .placeholder{min-height:220px}.detail{scroll-margin-top:110px}

.media-edit-list{display:grid;gap:18px;margin-top:20px}.media-edit-item{border:1px solid #d7dfe6;border-radius:12px;padding:16px;max-width:620px}.media-edit-item img,.media-edit-item video{display:block;max-width:100%;max-height:350px;object-fit:contain;border-radius:8px}.media-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}textarea{font:inherit;border:1px solid #8b9ca9;border-radius:7px;padding:10px;max-width:100%}#editor label{max-width:620px;margin:14px 0}#status{min-height:1.5em}

/* Kanairu typography and mobile usability */
body{font-family:"Noto Serif CJK JP","Noto Serif JP",serif;color:#34404d}header .shell{display:flex;justify-content:space-between;align-items:center;gap:14px}header strong{white-space:nowrap;color:#33495e}nav{gap:12px}nav a{text-decoration:none;font-size:.93rem}nav a:hover{text-decoration:underline}section{scroll-margin-top:110px}main>section{margin-bottom:32px}form.card{display:grid;gap:14px;max-width:720px}form.card label{display:flex;flex-direction:column;gap:5px}form.card input:not([type=checkbox]),form.card select,form.card textarea{width:100%;min-height:44px}form.card label:has(input[type=checkbox]){display:flex;flex-direction:row;align-items:flex-start;gap:10px}button{min-height:44px}button:hover{background:#f1f5f9}#matchResult:not(:empty){padding:12px;border-left:3px solid #8faec8}#applications{display:grid;gap:12px}@media(max-width:700px){header .shell{align-items:flex-start;flex-direction:column}nav{gap:8px 14px}nav a{font-size:.9rem}.cards{grid-template-columns:1fr}}


.availability-calendar{width:100%;table-layout:fixed;border-collapse:collapse;margin-block:1rem}.availability-calendar th,.availability-calendar td{padding:.6rem .2rem;border:1px solid #d8e1e8;text-align:center;vertical-align:top;overflow-wrap:anywhere}.availability-calendar td{height:5rem;font-size:.9rem}.availability-calendar th{color:#33465a}.availability-calendar td span:first-child{font-weight:bold}@media(max-width:600px){.availability-calendar td{font-size:.75rem;padding:.4rem .1rem}}
.week-availability{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-top:12px;font-size:.75rem;overflow-wrap:anywhere}.week-availability>div{padding:5px 2px;background:#f4f8fb;text-align:center}
.map-panel{max-width:600px;margin:1rem 0}.map-panel summary{cursor:pointer;padding:12px}.map-panel svg{display:block;max-height:520px;width:100%}.map-panel path{fill:#d7e7f2;stroke:#5a7184;stroke-width:.6;cursor:pointer}.map-panel path:hover,.map-panel path:focus,.map-panel path[aria-pressed=true]{fill:#83b4d7;outline:none;stroke:#263d52;stroke-width:1.5}
.media-viewer img,.media-viewer video{display:block;max-width:100%;max-height:480px;object-fit:contain}.profile-information dl{display:grid;grid-template-columns:minmax(90px,1fr) 3fr;gap:12px}.profile-information dd{margin:0;white-space:pre-wrap}

fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:14px}fieldset:disabled{opacity:.65}button:disabled{cursor:not-allowed}input,select,textarea{max-width:100%}.filters label{min-width:0}#search{scroll-margin-top:190px}@media(max-width:700px){.filters>label{flex:1 1 140px}.filters input{width:100%}#search{scroll-margin-top:200px}}
