:root{--safe-bg: #f8f9fa;--safe-accent: #2e7d32;--alarm-bg: #b71c1c;--alarm-pulse: #ff1744;--text: #212121;--text-light: #757575;--line-color: #bdbdbd}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Georgia,Times New Roman,serif;background:var(--safe-bg);color:var(--text);min-height:100vh}.app{transition:background .5s}.app.alarm{background:var(--alarm-bg);color:#fff}.alarm-banner{position:sticky;top:0;z-index:1000;background:var(--alarm-pulse);color:#fff;text-align:center;padding:24px 16px;font-family:Arial,Helvetica,sans-serif;font-size:28px;font-weight:700;letter-spacing:2px;animation:alarm-flash 1s infinite}.alarm-banner .phone-number{display:block;font-size:42px;margin-top:8px;letter-spacing:4px}@keyframes alarm-flash{0%,to{background:var(--alarm-pulse)}50%{background:#d50000}}.alarm-overdue{text-align:center;padding:16px;font-family:Arial,sans-serif;font-size:16px;color:#ffcdd2}.status-bar{text-align:center;padding:16px;font-family:Arial,sans-serif;font-size:14px;color:var(--safe-accent);font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.status-bar .dot{width:10px;height:10px;background:var(--safe-accent);border-radius:50%;animation:dot-pulse 2s infinite}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.4}}.warning-bar{color:#e65100}.warning-dot{background:#e65100!important}.loading{text-align:center;padding:60px 20px;font-family:Arial,sans-serif;color:var(--text-light)}.loading .spinner{display:inline-block;width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:var(--safe-accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}.error-msg{text-align:center;padding:20px;color:#c62828;font-family:Arial,sans-serif}.ht-section{padding:16px 0 0}.ht-section h2{text-align:center;font-family:Arial,sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:2px;color:var(--text-light);margin-bottom:12px}.alarm .ht-section h2{color:#ffcdd2}.ht-wrapper{display:flex;align-items:center;position:relative}.ht-arrow{flex-shrink:0;width:36px;height:36px;border:1px solid var(--line-color);background:#fff;border-radius:50%;font-size:22px;line-height:1;color:var(--text-light);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:background .2s,color .2s}.ht-arrow:hover{background:#e0e0e0;color:var(--text)}.alarm .ht-arrow{background:#ffffff1a;border-color:#ffffff4d;color:#ffcdd2}.alarm .ht-arrow:hover{background:#fff3}.ht-track{flex:1;overflow-x:auto;scroll-behavior:smooth;position:relative;-ms-overflow-style:none;scrollbar-width:none}.ht-track::-webkit-scrollbar{display:none}.ht-canvas{position:relative;height:200px}.ht-line{position:absolute;left:0;right:0;top:50%;height:2px;background:var(--line-color);transform:translateY(-50%);z-index:0;pointer-events:none}.alarm .ht-line{background:#ffffff4d}.ht-day-marker{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;align-items:center;z-index:0;pointer-events:none;border-left:1px dashed #d0d0d0}.alarm .ht-day-marker{border-left-color:#fff3}.ht-day-label{position:absolute;top:4px;transform:translate(-50%);font-family:Courier New,monospace;font-size:10px;color:#9e9e9e;letter-spacing:.5px;white-space:nowrap;background:var(--safe-bg);padding:0 4px}.alarm .ht-day-label{color:#ffffff80;background:var(--alarm-bg)}.ht-item{position:absolute;width:70px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;z-index:1}.ht-item.ht-item-top{bottom:50%;padding-bottom:0}.ht-item.ht-item-bottom{top:50%;padding-top:0}.ht-triangle{width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent}.ht-item.ht-item-top .ht-triangle{border-top:11px solid var(--safe-accent);margin-top:4px}.ht-item.ht-item-bottom .ht-triangle{border-bottom:11px solid var(--safe-accent);order:-1;margin-bottom:4px}.ht-label{display:flex;flex-direction:column;text-align:center;padding:2px 0}.ht-user{font-family:Arial,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--safe-accent);font-weight:700}.alarm .ht-user{color:#ef9a9a}.ht-time{font-family:Courier New,monospace;font-size:11px;color:var(--text-light);white-space:nowrap}.alarm .ht-time{color:#ffcdd2}.ht-item.future{opacity:.65}.ht-item.future.ht-item-top .ht-triangle{border-top-color:#9e9e9e;border-top-style:dashed}.ht-item.future.ht-item-bottom .ht-triangle{border-bottom-color:#9e9e9e;border-bottom-style:dashed}.ht-item.overdue.ht-item-top .ht-triangle{border-top-color:var(--alarm-pulse);animation:alarm-flash 1s infinite}.ht-item.overdue.ht-item-bottom .ht-triangle{border-bottom-color:var(--alarm-pulse);animation:alarm-flash 1s infinite}.ht-item.overdue .ht-user,.ht-item.overdue .ht-time{color:#c62828;font-weight:700}.ht-item.duress.ht-item-top{padding-bottom:8px}.ht-item.duress.ht-item-bottom{padding-top:8px}.ht-item.future{opacity:.5}.ht-item.future .ht-dot{background:#9e9e9e;border-style:dashed}.ht-item.future .ht-user,.ht-item.future .ht-time{color:#9e9e9e}.ht-item.overdue{opacity:1}.ht-item.overdue .ht-dot{background:var(--alarm-pulse);animation:alarm-flash 1s infinite}.ht-item.overdue .ht-user{color:var(--alarm-pulse);font-weight:700}.ht-item.overdue .ht-time{color:#c62828;font-weight:700}.alarm .ht-item.overdue .ht-time{color:#ff8a80}.letter-section{max-width:680px;margin:40px auto;padding:48px 40px;background:#fff;border:1px solid #e0e0e0;border-radius:2px;box-shadow:0 2px 8px #0000000f;line-height:1.8;font-size:17px}.alarm .letter-section{background:#ffffff14;border-color:#ffffff26;color:#ffebee}.lang-switcher{display:flex;justify-content:flex-end;gap:6px;margin-bottom:24px}.lang-btn{padding:6px 12px;font-family:Arial,sans-serif;font-size:12px;font-weight:600;letter-spacing:1px;color:var(--text-light);background:transparent;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all .15s}.lang-btn:hover{background:#f5f5f5}.lang-btn.active{background:#212121;color:#fff;border-color:#212121}.alarm .lang-btn{color:#ffcdd2;border-color:#ffffff4d;background:transparent}.alarm .lang-btn:hover{background:#ffffff1a}.alarm .lang-btn.active{background:#fff;color:var(--alarm-bg);border-color:#fff}.letter-section .date{text-align:right;color:var(--text-light);font-size:14px;margin-bottom:32px}.alarm .letter-section .date{color:#ef9a9a}.letter-section .greeting{margin-bottom:24px;font-style:italic}.letter-section p{margin-bottom:20px;text-align:justify}.letter-section .emphasis{font-weight:700;color:#c62828}.alarm .letter-section .emphasis{color:#ffcdd2;text-decoration:underline}.letter-section .closing{margin-top:36px}.letter-section .signature{margin-top:8px;font-style:italic}.letter-section .emergency-box{margin:28px 0;padding:20px;border:2px solid #c62828;border-radius:4px;background:#ffebee;font-family:Arial,sans-serif;font-size:15px;line-height:1.6}.alarm .letter-section .emergency-box{background:#ff174433;border-color:var(--alarm-pulse)}.emergency-box strong{color:#b71c1c}.alarm .emergency-box strong{color:#ff8a80}.app.resolved{background:#1b5e20;min-height:100vh;display:flex;align-items:center;justify-content:center}.resolved-page{text-align:center;color:#fff;padding:40px 24px;max-width:600px}.resolved-icon{width:100px;height:100px;border-radius:50%;background:#ffffff26;display:inline-flex;align-items:center;justify-content:center;font-size:52px;color:#a5d6a7;margin-bottom:24px;border:3px solid #a5d6a7}.resolved-title{font-family:Georgia,serif;font-size:48px;font-weight:700;margin-bottom:16px;color:#e8f5e9}.resolved-subtitle{font-family:Arial,sans-serif;font-size:20px;color:#c8e6c9;margin-bottom:32px;line-height:1.5}.resolved-thanks{font-family:Georgia,serif;font-size:17px;line-height:1.8;color:#a5d6a7;margin-bottom:32px}.resolved-heart{font-size:36px;color:#ef5350;animation:heart-beat 1.5s infinite}@keyframes heart-beat{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@media (max-width: 600px){.letter-section{margin:20px 12px;padding:28px 20px;font-size:15px}.alarm-banner{font-size:22px;padding:18px 12px}.alarm-banner .phone-number{font-size:32px}}
