:root{font-family:Arial,Helvetica,sans-serif;color:#102f49;background:#f0f6fa;font-size:20px;--scale:1;--line:#b6c9d7;--blue:#16476e;--green:#17623b;--red:#a82437}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation;color:inherit;background:white;border:2px solid var(--line);border-radius:14px;min-height:64px;padding:.65rem 1rem;font-weight:700;line-height:1.18}button:hover{border-color:var(--blue)}button:active{background:#d9eaf6}button:disabled{cursor:default;opacity:.4}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:4px solid #bc6500;outline-offset:4px}header{padding:14px 28px;background:#143754;color:white;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:.75rem;letter-spacing:.07em}.brand strong{display:block;font-size:1.1rem;letter-spacing:0;margin-top:4px}.utility{font-size:.9rem;min-height:56px;background:#f4f8fc;color:#143754}nav{max-width:1280px;margin:auto;padding:16px 24px 0;display:flex;gap:12px;flex-wrap:wrap}nav button{font-size:calc(1rem * var(--scale))}main{max-width:1280px;margin:auto;padding:12px 24px 24px}h1{font-size:calc(1.65rem * var(--scale));line-height:1.2;margin:6px 0}h2{font-size:1.5rem;line-height:1.25}p{line-height:1.5}.topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.hint{margin:4px 0;font-size:calc(1rem * var(--scale));color:#3b5365}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:0;overflow:hidden;text-align:center;box-shadow:0 4px 0 #c8d7e2;display:flex;flex-direction:column;align-items:stretch;min-width:0;border:2px solid #a3bbce}.card img{width:100%;height:clamp(136px,19vh,214px);object-fit:cover;display:block;background:#e4edf3}.card .symbol{height:clamp(136px,19vh,214px);display:grid;place-items:center;font-size:4rem;color:var(--blue);background:#e0eff9}.card .label{display:flex;justify-content:center;align-items:center;min-height:82px;padding:14px 10px;font-size:calc(1.4rem * var(--scale));overflow-wrap:anywhere}.pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:24px 0 0;font-size:calc(1rem * var(--scale))}.pager span{text-align:center}footer{position:sticky;bottom:0;z-index:2;background:#f0f6fa;padding:12px 24px;border-top:2px solid #b6c9d7;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}footer button{font-size:calc(1.25rem * var(--scale));min-height:76px;overflow-wrap:anywhere}footer .yes,.yes{color:var(--green);border-color:var(--green);background:#effbf4}footer .no,.no{color:var(--red);border-color:var(--red);background:#fff4f4}footer .help{color:white;background:#9c2136;border-color:#9c2136}.stop{border-color:#554b79;background:#f4f1ff}.symbol-small{margin-right:8px;font-size:1.2em}dialog{border:2px solid #9db4c5;border-radius:24px;padding:24px;width:min(950px,96vw);max-height:94dvh;color:#102f49;background:#fff;overflow:auto}dialog::backdrop{background:#0b233bd9}dialog .closebar{display:flex;justify-content:space-between;align-items:center;gap:16px}.message-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:24px;align-items:center;margin:22px 0}.message-content img{width:100%;height:260px;object-fit:cover;border-radius:16px}.message-content .symbol{font-size:6rem;text-align:center}.phrase{font-size:calc(2.15rem * var(--scale));font-weight:700;line-height:1.25;overflow-wrap:anywhere;margin:0}.message-content.no-photo{grid-template-columns:1fr}.no-photo .phrase{text-align:center;padding:20px 4px}.buttons{display:flex;gap:14px;flex-wrap:wrap;margin:14px 0}.buttons button{flex:1;min-width:140px;font-size:calc(1.1rem * var(--scale));min-height:72px}.primary{background:var(--blue);color:white;border-color:var(--blue)}.confirmed{background:#effbf4;border:2px solid var(--green);padding:12px 18px;border-radius:12px;font-weight:700;color:var(--green)}.question{font-size:calc(1.2rem * var(--scale));font-weight:700;margin:12px 0}.secondary-note{font-size:.9rem;color:#435766}.pain-options{padding:14px;background:#f3f7fb;border-radius:12px}.pain-options .selected{box-shadow:0 0 0 4px #16476e}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-weight:700;margin-bottom:8px}input,select,textarea{width:100%;border:2px solid #9db4c5;border-radius:10px;padding:12px;min-height:60px;color:#102f49;background:white}textarea{min-height:100px;resize:vertical}input[type=checkbox]{width:32px;height:32px;min-height:0;flex:none}.check{display:flex;align-items:center;gap:12px;margin:18px 0}.settings-section{border-top:2px solid #d6e2eb;padding-top:14px;margin-top:22px}.guide li{margin-bottom:16px;line-height:1.5}.guide a{color:#16476e}.personal-row{display:flex;gap:16px;align-items:center;margin:14px 0;border:1px solid #b6c9d7;padding:12px;border-radius:12px}.personal-row img{width:76px;height:76px;object-fit:cover;border-radius:8px}.personal-row span{flex:1;overflow-wrap:anywhere}.status{min-height:1.5em;color:#6f2b00;line-height:1.4}.empty{background:white;border:2px dashed #a3bbce;border-radius:20px;padding:36px;text-align:center}.keyboard{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.keyboard button{font-size:1.5rem;min-height:68px}.writing{background:white;border:2px solid #a3bbce;border-radius:12px;min-height:112px;padding:18px;font-size:calc(1.65rem * var(--scale));overflow-wrap:anywhere;white-space:pre-wrap;margin:14px 0}.full{grid-column:1/-1}.skip{position:absolute;left:12px;top:-200px;padding:12px;background:white;z-index:20}.skip:focus{top:10px}#notice:not(:empty){position:fixed;bottom:120px;left:5%;right:5%;padding:16px;background:#fff4d4;color:#54340e;border:2px solid #9f6500;z-index:10;border-radius:12px;font-size:1rem}.tip{border-left:5px solid #357ca8;padding-left:16px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.photo-preview{width:140px;height:140px;object-fit:cover;border-radius:12px}body.high-text .grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:1400px){footer{padding-left:max(24px,calc((100vw - 1232px)/2));padding-right:max(24px,calc((100vw - 1232px)/2))}}@media(max-width:760px){header{padding:12px 16px}.brand strong{font-size:.95rem}nav{padding:12px 14px 0;gap:8px}nav button{flex:1;padding:.6rem}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}main{padding:12px 14px 18px}.card .label{font-size:calc(1.15rem * var(--scale));min-height:74px}.card img,.card .symbol{height:150px}footer{padding:9px;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}footer button{font-size:calc(1rem * var(--scale));min-height:60px;padding:.5rem}footer .stop,footer .help{grid-column:auto}footer .help{grid-column:span 2}.message-content{grid-template-columns:1fr;text-align:center;gap:12px}.message-content img{height:190px;max-width:270px;margin:auto}.phrase{font-size:calc(1.7rem * var(--scale))}dialog{padding:18px;max-height:96dvh}.settings-grid{grid-template-columns:1fr}.keyboard{gap:6px}.keyboard button{padding:8px;min-height:64px}#notice:not(:empty){bottom:160px}.symbol-small{margin-right:4px}}@media(max-width:420px){.grid,.grid.four,body.high-text .grid{grid-template-columns:1fr}.card{display:grid;grid-template-columns:110px minmax(0,1fr);min-height:126px}.card img,.card .symbol{height:126px}.card .label{font-size:calc(1.15rem * var(--scale))}h1{font-size:1.5rem}.keyboard{grid-template-columns:repeat(6,minmax(0,1fr))}.utility{font-size:.8rem}.brand{letter-spacing:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{header,nav,footer,.buttons,.closebar,.pain-options,dialog:not([open]){display:none!important}dialog[open]{position:static;max-height:none;border:0;width:100%}body:has(dialog[open]) main{display:none}}

.card img,.message-content img{object-fit:contain;background:#f7f8f9}

.notes-panel{margin-top:28px;padding:24px;border:2px solid #b6c9d7;border-radius:18px;background:white}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pain-more summary{font-size:1.15rem;font-weight:bold;padding:20px 6px;cursor:pointer;min-height:64px}.pain-more .selected{box-shadow:0 0 0 3px #16476e}.urgent-note{border:2px solid #a82437;border-radius:12px;padding:14px;font-size:1rem;background:#fff5f5}.guide-list li{padding:10px 0;line-height:1.55;font-size:1.2rem}.phrase{white-space:pre-line}textarea[data-info]{font-size:1.25rem}summary:focus-visible{outline:4px solid #bc6500}
