*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Yu Gothic,sans-serif;background:#f4f6f7;color:#1b232a}.app{display:flex;flex-direction:column;height:100vh;max-width:480px;margin:0 auto;background:#fff;position:relative}.app-header{padding:10px 12px;background:#1d4e6b;color:#fff;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.app-brand{display:flex;align-items:center;gap:8px;background:none;border:none;color:#fff;padding:4px;cursor:pointer}.app-brand img{width:28px;height:28px;border-radius:6px}.app-brand h1{margin:0;font-size:1.1rem}.icon-button{background:none;border:none;color:#fff;font-size:1.3rem;padding:6px;line-height:1;cursor:pointer}.app-main{flex:1;overflow-y:auto;padding:12px 12px 80px}.tab-bar{position:sticky;bottom:0;display:flex;background:#fff;border-top:1px solid #ddd;flex-shrink:0}.tab-button{flex:1;border:none;background:none;padding:8px 4px 10px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.75rem;color:#667}.tab-button.active{color:#1d4e6b;font-weight:600}.tab-icon{font-size:1.3rem}.card{background:#fff;border:1px solid #e2e7ea;border-radius:12px;padding:14px;margin-bottom:12px}.card h2{margin-top:0;font-size:1.05rem}label{display:block;font-size:.85rem;color:#445;margin-bottom:10px}input,select,textarea{width:100%;padding:8px 10px;margin-top:4px;border:1px solid #ccd1d3;border-radius:8px;font-size:1rem;font-family:inherit}button{background:#1d4e6b;color:#fff;border:none;border-radius:8px;padding:10px 14px;font-size:.95rem;cursor:pointer}button:disabled{opacity:.6}button.danger{background:#b3261e}button.secondary{background:#e7eef2;color:#1d4e6b}.button-file{display:inline-flex;align-items:center;justify-content:center;background:#e7eef2;color:#1d4e6b;border-radius:8px;padding:10px 14px;font-size:.95rem;cursor:pointer;margin-bottom:0}.error{color:#b3261e;font-size:.85rem}.banner{background:#fff4e0;border:1px solid #f0c36d;border-radius:8px;padding:10px 12px;font-size:.85rem;margin-bottom:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.banner.info{background:#eaf1f5;border-color:#8fb8ce}button.link{background:none;color:#1d4e6b;text-decoration:underline;padding:0;font-size:.85rem}.hint{color:#667;font-size:.8rem}.ok-text{color:#1d4e6b;font-size:.85rem}.empty{text-align:center;color:#889;margin-top:24px}.event-status{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.event-status h2{margin:0;font-size:1.1rem}.event-elapsed{color:#667;font-size:.85rem}.record-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.record-button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 8px;border-radius:12px;background:#e7eef2;color:#1d4e6b;font-size:.85rem}.record-button .icon{font-size:1.6rem}.record-button.recording{background:#f8d7da;color:#842029}.timeline{list-style:none;padding:0;margin:0}.timeline-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #eee}.timeline-icon{font-size:1.2rem;flex-shrink:0}.timeline-time{color:#889;font-size:.75rem}.timeline-text{font-size:.9rem;white-space:pre-wrap;margin:4px 0 0}.timeline-thumb{max-width:100%;border-radius:8px;margin-top:6px}.event-list{list-style:none;padding:0;margin:0}.event-card-button{display:block;width:100%;text-align:left;background:#fff;border:1px solid #e2e7ea;border-radius:12px;padding:14px;margin-bottom:10px;color:#1b232a}.event-card-title{font-weight:600;margin:0 0 4px}.event-card-meta{color:#778;font-size:.8rem}.diary-text{white-space:pre-wrap;line-height:1.7;font-size:.95rem}
