.job-form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:680px}.job-form label{color:#363c54;font-size:14px;font-weight:700}.job-form textarea{display:block;width:100%;min-width:0;min-height:140px;padding:16px;color:#20243a;background:#fbfcff;border:1px solid #dfe3ef;border-radius:16px;font-family:inherit;font-size:14px;line-height:1.7;resize:vertical;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}.job-form textarea::placeholder{color:#a2a9bb;opacity:1}.job-form textarea:hover:not(:disabled){border-color:#b9b5ff}.job-form textarea:focus{outline:none;background:#fff;border-color:#635bff;box-shadow:0 0 0 4px #635bff1f}.job-form button{align-self:flex-start;padding:13px 22px;color:#fff;background:linear-gradient(135deg,#7168ff,#5950ed);border:1px solid transparent;border-radius:12px;box-shadow:0 5px 14px #635bff33;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,opacity .22s ease}.job-form button:hover:not(:disabled){background:linear-gradient(135deg,#635bff,#483fe0);box-shadow:0 8px 22px #635bff4d;transform:translateY(-2px)}.job-form button:active:not(:disabled){transform:translateY(0) scale(.98)}.job-form button:focus-visible{outline:3px solid rgba(99,91,255,.4);outline-offset:3px}.job-form button:disabled,.job-form textarea:disabled{cursor:not-allowed;opacity:.55}.job-form button:disabled{box-shadow:none;transform:none}.job-form textarea:disabled{background:#f0f1f6}@media(max-width:600px){.job-form{max-width:none}.job-form button{align-self:stretch;width:100%}}@media(prefers-reduced-motion:reduce){.job-form button,.job-form textarea{transition:none}}:root{color-scheme:light;--color-bg: #f4f6fb;--color-surface: #ffffff;--color-surface-hover: #f8f9ff;--color-text: #20243a;--color-text-secondary: #737b91;--color-primary: #635bff;--color-primary-hover: #5148ed;--color-primary-light: #eeedff;--color-border: #e5e8f1;--color-danger: #d92d45;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--shadow-card: 0 4px 20px rgba(36, 43, 85, .04), 0 1px 3px rgba(36, 43, 85, .04);--shadow-hover: 0 14px 35px rgba(36, 43, 85, .09);--transition: .22s ease}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 10% 0%,rgba(99,91,255,.08),transparent 38%),var(--color-bg);color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,textarea,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}::selection{color:#fff;background:var(--color-primary)}.app{width:min(100% - 40px,1000px);margin:48px auto;padding:36px;background:#ffffffe0;border:1px solid rgba(229,232,241,.9);border-radius:28px;box-shadow:0 20px 70px #242b550f,0 2px 8px #242b5506;animation:page-enter .65s ease both}.app h1{margin:0 0 12px;font-size:clamp(28px,4vw,38px);font-weight:800;line-height:1.2;letter-spacing:-1.3px}.app>p{max-width:760px;margin:0;color:var(--color-text-secondary);font-size:15px;line-height:1.8}.mode-menu{display:flex;gap:12px;margin:30px 0;padding:6px;background:#f0f2f9;border:1px solid var(--color-border);border-radius:16px}.mode-menu button{position:relative;flex:1;min-width:0;padding:14px 18px;color:#606982;background:transparent;border:1px solid transparent;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:color var(--transition),background var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.mode-menu button:hover:not(.active){color:var(--color-primary);background:#ffffffa6}.mode-menu button:active{transform:scale(.98)}.mode-menu button.active{color:var(--color-primary);background:#fff;border-color:#e7e5ff;box-shadow:0 3px 10px #312d780f,0 1px 3px #312d780a}.job-form,.log-form{display:flex;flex-direction:column;gap:12px}.job-form{max-width:680px;animation:content-enter .45s ease both}.log-form{margin-top:20px}.job-form label,.log-form label{color:#363c54;font-size:14px;font-weight:700}.job-form textarea,.log-form textarea{display:block;width:100%;min-width:0;padding:16px;color:var(--color-text);background:#fbfcff;border:1px solid #dfe3ef;border-radius:var(--radius-md);font-size:14px;line-height:1.7;resize:vertical;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.job-form textarea{min-height:140px}.log-form textarea{min-height:260px;font-family:Cascadia Code,Consolas,Courier New,monospace;font-size:13px;-moz-tab-size:4;tab-size:4}.job-form textarea::placeholder,.log-form textarea::placeholder{color:#a2a9bb;opacity:1}.job-form textarea:hover:not(:disabled),.log-form textarea:hover:not(:disabled){border-color:#b9b5ff}.job-form textarea:focus,.log-form textarea:focus{outline:none;background:#fff;border-color:var(--color-primary);box-shadow:0 0 0 4px #635bff1f}.job-form textarea:disabled,.log-form textarea:disabled{background:#f0f1f6;cursor:not-allowed;opacity:.7}.job-form button,.log-form button{align-self:flex-start;padding:13px 22px;color:#fff;background:linear-gradient(135deg,#7168ff,#5950ed);border:1px solid transparent;border-radius:12px;box-shadow:0 5px 14px #635bff33;font-size:14px;font-weight:700;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),background var(--transition),opacity var(--transition)}.job-form button:hover:not(:disabled),.log-form button:hover:not(:disabled){background:linear-gradient(135deg,#635bff,#483fe0);box-shadow:0 8px 22px #635bff4d;transform:translateY(-2px)}.job-form button:active:not(:disabled),.log-form button:active:not(:disabled){transform:translateY(0) scale(.98)}.job-form button:disabled,.log-form button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.job-form button:focus-visible,.log-form button:focus-visible,.mode-menu button:focus-visible{outline:3px solid rgba(99,91,255,.4);outline-offset:3px}.log-form-section{margin-top:30px;animation:content-enter .45s ease both}.log-form-section h2{margin:0 0 8px;font-size:22px;font-weight:750;letter-spacing:-.5px}.input-hint{margin:2px 0 0;color:var(--color-text-secondary);font-size:13px;line-height:1.7}.job-info{margin-top:32px;padding:28px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow-wrap:anywhere;animation:content-enter .5s ease both}.job-info h2{margin:0 0 16px;font-size:23px;font-weight:800;letter-spacing:-.6px}.job-info h3{margin:28px 0 14px;font-size:17px;font-weight:750;letter-spacing:-.2px}.job-id{color:var(--color-primary);font-weight:650;overflow-wrap:anywhere}.job-info article{margin-top:14px;padding:20px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 2px 8px #242b5506;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.job-info article:hover{border-color:#d4d1ff;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.job-info article p{margin:8px 0;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.job-info article p:last-child{margin-bottom:0}.statistics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.statistics-grid article{display:flex;flex-direction:column;gap:12px;min-width:0;margin:0;padding:22px;background:linear-gradient(145deg,#fff,#fafaff);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition);animation:card-enter .45s ease both}.statistics-grid article:hover{border-color:#d5d1ff;box-shadow:var(--shadow-hover);transform:translateY(-4px)}.statistics-grid article span{color:var(--color-text-secondary);font-size:13px;line-height:1.5}.statistics-grid article strong{color:var(--color-primary);font-size:clamp(24px,3vw,32px);font-weight:800;line-height:1.2;letter-spacing:-1px;overflow-wrap:anywhere}.statistics-list{display:flex;flex-direction:column;gap:10px}.statistics-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0;margin:0;padding:15px 18px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:background var(--transition),border-color var(--transition),transform var(--transition)}.statistics-list article:hover{background:var(--color-surface-hover);border-color:#d5d1ff;transform:translate(3px)}.statistics-list article strong{flex-shrink:0;color:var(--color-primary);font-weight:750}.log-message{min-width:0;max-width:100%;margin:0!important;color:#525b73;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word;font-family:Cascadia Code,Consolas,Courier New,monospace;font-size:12px;line-height:1.8}.error-message{margin:16px 0;padding:14px 16px;color:var(--color-danger);background:#fff1f2;border:1px solid #fecdd3;border-left:4px solid var(--color-danger);border-radius:10px;font-size:14px;line-height:1.7;overflow-wrap:anywhere;animation:content-enter .3s ease both}@keyframes page-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes content-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes card-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:800px){.app{width:min(100% - 28px,1000px);margin:24px auto;padding:26px;border-radius:22px}.statistics-grid{gap:12px}.statistics-grid article{padding:16px}.job-info{padding:22px}}@media(max-width:600px){.app{width:calc(100% - 20px);margin:10px auto;padding:20px 16px;border-radius:18px}.app h1{font-size:28px;letter-spacing:-.8px}.app>p{font-size:14px}.mode-menu{flex-direction:column;gap:8px;margin:22px 0}.mode-menu button{width:100%;padding:13px}.job-form button,.log-form button{align-self:stretch;width:100%}.job-form textarea,.log-form textarea{padding:13px}.log-form textarea{min-height:220px}.log-form-section{margin-top:24px}.log-form-section h2{font-size:20px}.job-info{margin-top:24px;padding:18px;border-radius:16px}.job-info h2{font-size:20px}.job-info h3{margin-top:22px;font-size:16px}.job-info article{padding:15px}.statistics-grid{grid-template-columns:1fr;gap:10px}.statistics-grid article{padding:17px}.statistics-grid article strong{font-size:26px}.statistics-list article{gap:10px;padding:12px}.log-message{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.automation-form-section{display:flex;flex-direction:column;gap:12px;width:100%;max-width:680px;margin-top:30px;padding:28px;background:linear-gradient(145deg,#fff,#fafaff);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);animation:content-enter .45s ease both}.automation-form-section h2{margin:0 0 4px;font-size:22px;font-weight:750;letter-spacing:-.5px}.automation-form-section>p{margin:0;color:var(--color-text-secondary);font-size:14px;line-height:1.8}.automation-form{display:flex;flex-direction:column;gap:12px;width:100%;min-width:0;margin-top:8px}.automation-form label{margin-top:4px;color:#363c54;font-size:14px;font-weight:700}.automation-form textarea{display:block;width:100%;min-width:0;min-height:140px;padding:16px;color:var(--color-text);background:#fbfcff;border:1px solid #dfe3ef;border-radius:var(--radius-md);font-size:14px;line-height:1.7;resize:vertical;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.automation-form textarea::placeholder{color:#a2a9bb;opacity:1}.automation-form textarea:hover:not(:disabled),.automation-form .interval-input input:hover:not(:disabled){border-color:#b9b5ff}.automation-form textarea:focus,.automation-form .interval-input input:focus{outline:none;background:#fff;border-color:var(--color-primary);box-shadow:0 0 0 4px #635bff1f}.automation-form textarea:disabled,.automation-form .interval-input input:disabled{background:#f0f1f6;cursor:not-allowed;opacity:.7}.automation-form .interval-input{display:flex;align-items:center;gap:14px;width:100%}.automation-form .interval-input input{width:150px;min-width:0;padding:12px 14px;color:var(--color-text);background:#fbfcff;border:1px solid #dfe3ef;border-radius:12px;font-size:14px;font-weight:600;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.automation-form .interval-input span{color:var(--color-text-secondary);font-size:14px;font-weight:600}.automation-form .input-hint{margin:-3px 0 4px;color:var(--color-text-secondary);font-size:12px;line-height:1.7}.automation-form button{align-self:flex-start;margin-top:4px;padding:13px 22px;color:#fff;background:linear-gradient(135deg,#7168ff,#5950ed);border:1px solid transparent;border-radius:12px;box-shadow:0 5px 14px #635bff33;font-size:14px;font-weight:700;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),background var(--transition),opacity var(--transition)}.automation-form button:hover:not(:disabled){background:linear-gradient(135deg,#635bff,#483fe0);box-shadow:0 8px 22px #635bff4d;transform:translateY(-2px)}.automation-form button:active:not(:disabled){transform:translateY(0) scale(.98)}.automation-form button:focus-visible{outline:3px solid rgba(99,91,255,.4);outline-offset:3px}.automation-form button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.automation-info{width:100%;max-width:680px;margin-top:18px;padding:22px 24px;background:var(--color-primary-light);border:1px solid #e5e2ff;border-radius:var(--radius-md);animation:content-enter .45s ease both}.automation-info h3{margin:0 0 10px;color:#36345f;font-size:16px;font-weight:750}.automation-info p{margin:0;color:#737394;font-size:13px;line-height:1.8}.automation-info p+p{margin-top:8px}@media(max-width:800px){.automation-form-section{padding:24px}}@media(max-width:600px){.automation-form-section{max-width:none;margin-top:24px;padding:20px 16px;border-radius:18px}.automation-form-section h2{font-size:20px}.automation-form textarea{padding:13px}.automation-form .interval-input input{flex:1;width:100%}.automation-form button{align-self:stretch;width:100%}.automation-info{padding:18px 16px}}@media(prefers-reduced-motion:reduce){.automation-form-section,.automation-info{animation:none}.automation-form textarea,.automation-form .interval-input input,.automation-form button{transition:none}}.stop-automation-button{margin-top:12px;padding:12px 18px;color:#c62840;background:#fff1f2;border:1px solid #fecdd3;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:background var(--transition),border-color var(--transition),transform var(--transition),opacity var(--transition)}.stop-automation-button:hover:not(:disabled){background:#ffe4e8;border-color:#fda4af;transform:translateY(-1px)}.stop-automation-button:active:not(:disabled){transform:scale(.98)}.stop-automation-button:focus-visible{outline:3px solid rgba(217,45,69,.3);outline-offset:3px}.stop-automation-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.stop-automation-button{width:100%}}.weather-section{display:flex;flex-direction:column;gap:24px;margin-top:28px;animation:content-enter .45s ease both}.weather-intro{color:var(--color-text-secondary);font-size:14px;line-height:1.8}.weather-form-section,.weather-panel{min-width:0;padding:26px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.weather-form-section h2,.weather-panel h2{margin:0 0 12px;font-size:21px;font-weight:800;letter-spacing:-.4px}.weather-form-section>p,.weather-panel>p{color:var(--color-text-secondary);font-size:14px;line-height:1.8}.weather-form{display:flex;flex-direction:column;gap:12px;margin-top:20px}.weather-form label{margin-top:4px;color:#363c54;font-size:14px;font-weight:700}.weather-form input{width:100%;min-width:0;padding:13px 15px;color:var(--color-text);background:#fbfcff;border:1px solid #dfe3ef;border-radius:12px;font-size:14px;transition:border-color var(--transition),box-shadow var(--transition)}.weather-form input:focus{outline:none;background:#fff;border-color:var(--color-primary);box-shadow:0 0 0 4px #635bff1f}.weather-interval{display:flex;align-items:center;gap:12px;max-width:240px}.weather-interval input{width:150px}.weather-interval span{color:var(--color-text-secondary);font-size:14px}.weather-form button,.weather-secondary-button,.weather-stop-button{align-self:flex-start;padding:12px 17px;border-radius:11px;font-size:13px;font-weight:700;cursor:pointer;transition:background var(--transition),transform var(--transition),opacity var(--transition)}.weather-form button{margin-top:6px;color:#fff;background:var(--color-primary);border:1px solid var(--color-primary)}.weather-form button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.weather-form button:disabled,.weather-secondary-button:disabled,.weather-stop-button:disabled{opacity:.55;cursor:not-allowed}.weather-tracking-list,.weather-record-list{display:flex;flex-direction:column;gap:14px;margin-top:18px}.weather-tracking-card,.weather-record-list article{min-width:0;padding:20px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition),box-shadow var(--transition)}.weather-tracking-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 3px #635bff14}.weather-tracking-heading,.weather-record-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.weather-tracking-heading h3{margin:0;font-size:17px;overflow-wrap:anywhere}.weather-tracking-card p,.weather-record-list article p{margin:9px 0;color:var(--color-text-secondary);font-size:13px;line-height:1.7;overflow-wrap:anywhere}.weather-tracking-card p strong{color:var(--color-text)}.weather-status{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700}.weather-status.enabled{color:#18794e;background:#e8f8ef}.weather-status.disabled{color:#737b91;background:#f0f2f7}.weather-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.weather-secondary-button{color:var(--color-primary);background:var(--color-primary-light);border:1px solid #e1deff}.weather-secondary-button:hover:not(:disabled){background:#e2e0ff}.weather-stop-button{color:#c62840;background:#fff1f2;border:1px solid #fecdd3}.weather-stop-button:hover:not(:disabled){background:#ffe4e8}.weather-panel>h3{margin:26px 0 14px;font-size:17px}.weather-latest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.weather-latest-grid article{display:flex;flex-direction:column;gap:10px;min-width:0;padding:18px;background:#f8f9ff;border:1px solid var(--color-border);border-radius:14px}.weather-latest-grid article span{color:var(--color-text-secondary);font-size:12px;line-height:1.6}.weather-latest-grid article strong{color:var(--color-primary);font-size:clamp(22px,3vw,28px);overflow-wrap:anywhere}.weather-record-heading strong{color:var(--color-primary);font-size:19px}.weather-record-heading span{color:var(--color-text-secondary);font-size:12px}@media(max-width:600px){.weather-form-section,.weather-panel{padding:18px 15px;border-radius:16px}.weather-form button{align-self:stretch;width:100%}.weather-latest-grid{grid-template-columns:1fr}.weather-card-actions{flex-direction:column}.weather-card-actions button{width:100%}.weather-tracking-card,.weather-record-list article{padding:15px}}.weather-check-section{width:100%;max-width:680px;margin-top:30px;padding:28px;background:linear-gradient(145deg,#fff,#fafaff);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);animation:content-enter .45s ease both}.weather-check-section h2{margin:0 0 8px;font-size:22px;font-weight:750}.weather-check-section>p{color:var(--color-text-secondary);font-size:14px;line-height:1.8}.weather-check-form{display:flex;flex-direction:column;gap:12px;margin-top:20px}.weather-check-form label{color:#363c54;font-size:14px;font-weight:700}.weather-check-form input{width:100%;padding:14px 16px;color:var(--color-text);background:#fbfcff;border:1px solid #dfe3ef;border-radius:12px;font-size:14px;transition:border-color var(--transition),box-shadow var(--transition)}.weather-check-form input:focus{outline:none;background:#fff;border-color:var(--color-primary);box-shadow:0 0 0 4px #635bff1f}.weather-check-form button{align-self:flex-start;margin-top:6px;padding:13px 22px;color:#fff;background:linear-gradient(135deg,#7168ff,#5950ed);border:none;border-radius:12px;box-shadow:0 5px 14px #635bff33;font-size:14px;font-weight:700;cursor:pointer;transition:var(--transition)}.weather-check-form button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-2px)}.weather-check-form button:disabled{opacity:.55;cursor:not-allowed}.weather-check-result{animation:content-enter .45s ease both}.weather-check-time{color:var(--color-text-secondary);font-size:13px}@media(max-width:600px){.weather-check-section{max-width:none;padding:20px 16px}.weather-check-form button{align-self:stretch;width:100%}}
