:root{color:#172033;background:#f5f7fb;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 10% 0%,rgb(217 229 255 / 75%),transparent 32rem),#f5f7fb}button,input,textarea{font:inherit}a{color:inherit}.app-shell{width:min(100% - 2rem,58rem);margin:0 auto;padding:1.5rem 0 4rem}.site-header,.page-heading,.section-heading,.event-card,.form-actions,.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-header{margin-bottom:2rem}.brand{font-size:1.35rem;font-weight:850;letter-spacing:-.04em;text-decoration:none}nav{display:flex;align-items:center;gap:.75rem}.nav-link{color:#53617a;font-weight:650;text-decoration:none}.nav-link[aria-current=page]{color:#1c55c9}.panel{padding:clamp(1.35rem,4vw,2.5rem);border:1px solid #dce2ee;border-radius:1.25rem;background:#fffffff0;box-shadow:0 1rem 3rem #1a294714}.hero{padding-block:clamp(2rem,8vw,4.5rem)}.hero-panel{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:clamp(2rem,8vw,4.5rem)}.hero-panel>div{max-width:38rem}.page-stack{display:grid;gap:2.25rem}h1,h2,p{margin-top:0}h1{margin-bottom:.75rem;font-size:clamp(1.9rem,6vw,3.25rem);letter-spacing:-.045em;line-height:1.08}h2{letter-spacing:-.025em}p{color:#53617a;line-height:1.65}.eyebrow{margin-bottom:.6rem;color:#1c55c9;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.button{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;padding:.65rem 1rem;border:0;border-radius:.8rem;background:#1c55c9;color:#fff;cursor:pointer;font-weight:750;text-decoration:none}.button:hover{background:#1647aa}.button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgb(28 85 201 / 28%);outline-offset:2px}.button:disabled{cursor:not-allowed;opacity:.55}.button-small{min-height:2.4rem;padding:.5rem .8rem;color:#fff;font-size:.9rem}.button-secondary{border:1px solid #c7d1e3;background:#fff;color:#23314c}.button-secondary:hover{background:#f0f4fb}.button-danger{background:#b42318}.button-danger:hover{background:#8f1d15}.hero-actions,.card-actions,.reminder-options{display:flex;flex-wrap:wrap;gap:.75rem}.page-heading,.section-heading{align-items:flex-end;margin-bottom:1.25rem}.page-heading h1,.page-heading p,.section-heading h2,.section-heading p{margin-bottom:0}.event-list,.recent-events,.event-grid{display:grid;gap:1rem}.recent-events{margin-top:2rem}.event-card{align-items:flex-start;padding:1.25rem;border:1px solid #dce2ee;border-radius:1rem;background:#fffffff0;box-shadow:0 .75rem 2rem #1a294712}.event-card h2,.event-card h3{margin-bottom:.45rem}.event-card h3 a{text-decoration-thickness:.1em;text-underline-offset:.16em}.event-time{margin-bottom:.65rem;color:#1c55c9;font-size:.88rem;font-weight:750}.event-meta{margin-bottom:.35rem}.source-badge{display:inline-flex;margin-bottom:.65rem;padding:.28rem .55rem;border-radius:999px;background:#eaf1ff;color:#1749aa;font-size:.76rem;font-weight:800}.event-details{margin-bottom:0;font-size:.92rem}.card-actions{flex:0 0 auto;justify-content:flex-end}.event-actions,.button-row{display:flex;flex:0 0 auto;align-items:center;gap:.65rem}.text-link,.text-button{color:#1c55c9;font-weight:750;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.16em}.text-button{padding:.35rem 0;border:0;background:transparent;cursor:pointer}.danger-text{color:#a6241a}.empty-state{text-align:center}.empty-state .button{margin-top:.5rem}.alert{margin-bottom:1rem;padding:.9rem 1rem;border:1px solid;border-radius:.8rem;line-height:1.5}.alert-warning{border-color:#e5b548;background:#fff8e5;color:#6b4d08}.alert-error{border-color:#f0a29a;background:#fff0ee;color:#8a1c13}.alert-success{border-color:#8bc9a6;background:#ebf8f0;color:#176437}.event-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.field{min-width:0}.field-wide{grid-column:1 / -1}.field label,legend{display:block;margin-bottom:.45rem;color:#23314c;font-weight:750}.field input[type=text],.field input[type=date],.field input[type=datetime-local],.field textarea{width:100%;min-height:2.85rem;padding:.65rem .75rem;border:1px solid #bdc8db;border-radius:.7rem;background:#fff;color:#172033}.field textarea{min-height:7rem;resize:vertical}.field input[aria-invalid=true]{border-color:#c5362b}.field-help,.field-error{margin:.4rem 0 0;font-size:.84rem}.field-error{color:#a6241a}.checkbox-row{display:flex;align-items:flex-start;gap:.7rem;padding:.85rem;border-radius:.8rem;background:#f1f5fc;cursor:pointer}.checkbox-row input{width:1.15rem;height:1.15rem;margin-top:.15rem}.checkbox-row strong,.checkbox-row small{display:block}.checkbox-row small{margin-top:.2rem;color:#61708a}fieldset{min-width:0;margin:0;padding:0;border:0}.choice-chip{display:inline-flex!important;align-items:center;gap:.45rem;margin:0!important;padding:.55rem .75rem;border:1px solid #c7d1e3;border-radius:999px;background:#f8faff;cursor:pointer;font-size:.9rem}.choice-chip:has(input:checked){border-color:#1c55c9;background:#edf3ff;color:#1749aa}.form-actions{justify-content:flex-start;padding-top:.5rem}.danger-zone{align-items:flex-start;margin-top:1.25rem;padding:1.25rem;border:1px solid #efb3ad;border-radius:1rem;background:#fff8f7}.danger-zone h2{margin-bottom:.3rem;color:#8a1c13}.danger-zone p{margin-bottom:0}.export-panel{margin-top:1.25rem}.image-upload-panel,.image-review-stack{display:grid;gap:1.25rem}.image-picker{display:inline-flex;width:fit-content;cursor:pointer}.image-upload-actions,.image-import-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.image-picker input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.image-file-name{margin-bottom:0;font-weight:700}.image-preview{display:block;width:min(100%,30rem);max-height:28rem;object-fit:contain;border:1px solid #dce2ee;border-radius:.9rem;background:#f1f5fc}.ocr-progress{display:grid;grid-template-columns:auto minmax(8rem,1fr) auto;align-items:center;gap:.75rem;color:#53617a}.ocr-progress progress{width:100%;accent-color:#1c55c9}.confidence-badge{padding:.45rem .65rem;border-radius:999px;background:#edf3ff;color:#1749aa;font-size:.84rem;font-weight:750}.ocr-text{max-height:14rem;margin:1rem 0 0;padding:1rem;overflow:auto;border-radius:.75rem;background:#f1f5fc;color:#23314c;font:inherit;white-space:pre-wrap}.image-event-card{display:grid;gap:1rem}.image-event-confidence{align-self:start;white-space:nowrap}.image-event-confidence-high{background:#ebf8f0;color:#176437}.image-event-confidence-medium{background:#fff8e5;color:#6b4d08}.image-event-confidence-low{background:#fff0ef;color:#a52d25}.image-event-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.image-import-actions{position:sticky;bottom:1rem;z-index:2;justify-content:space-between;box-shadow:0 .8rem 2.5rem #1720331f}.export-panel>.button{margin-bottom:1rem}.export-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.25rem 0}.export-summary div{min-width:0;padding:.85rem;border:1px solid #dce2ee;border-radius:.8rem;background:#f8faff}.export-summary dt{margin-bottom:.3rem;color:#61708a;font-size:.82rem;font-weight:700}.export-summary dd{margin:0;overflow-wrap:anywhere;color:#23314c;font-weight:750}.export-panel .alert{margin-top:0}.export-instructions{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #dce2ee}.export-instructions h3{margin-bottom:.55rem;font-size:1rem}.export-instructions ol{margin:0 0 .75rem;padding-left:1.25rem;color:#53617a;line-height:1.65}.export-instructions p{margin-bottom:.65rem;font-size:.9rem}.sync-facts,.sync-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.sync-fact{padding:1rem 1.15rem}.sync-fact span,.sync-fact strong{display:block}.sync-fact span{margin-bottom:.35rem;color:#61708a;font-size:.82rem;font-weight:700}.sync-preview .section-heading{margin-bottom:1rem}.sync-summary{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));margin:0 0 1rem}.sync-summary div{padding:.9rem;border:1px solid #dce2ee;border-radius:.8rem;background:#f8faff}.sync-summary dt{margin-bottom:.35rem;color:#61708a;font-size:.8rem;font-weight:700}.sync-summary dd{margin:0;color:#172033;font-size:1.45rem;font-weight:850}.sync-preview ul{margin-bottom:0;padding-left:1.25rem}.sync-result{margin:1rem 0 0}.bulk-calendar-export{display:grid;gap:.75rem;margin-top:1.35rem;padding:1.2rem;border:1px solid #b8caef;border-radius:1rem;background:linear-gradient(135deg,#edf3ff,#f8fbff)}.bulk-calendar-export h3,.bulk-calendar-export p{margin-bottom:0}.bulk-calendar-export .eyebrow{margin-bottom:.35rem}.bulk-calendar-button{width:fit-content}.bulk-calendar-export .alert{margin:0}.local-sync-actions{display:flex;align-items:center;gap:.85rem;margin-top:1rem}.local-sync-actions .field-help{margin:0}@media(max-width:700px){.app-shell{width:min(100% - 1.25rem,58rem);padding-top:.85rem}.site-header{align-items:flex-start;flex-direction:column}nav{width:100%}nav .button{margin-left:auto}.page-heading,.section-heading,.hero-panel,.event-card,.danger-zone{align-items:stretch;flex-direction:column}.event-form,.image-event-fields,.export-summary{grid-template-columns:1fr}.sync-facts,.sync-summary{grid-template-columns:1fr 1fr}.field-wide{grid-column:auto}.card-actions,.event-actions{justify-content:flex-start}.bulk-calendar-button{width:100%}.local-sync-actions{align-items:stretch;flex-direction:column}.ocr-progress{grid-template-columns:1fr auto}.ocr-progress strong{grid-column:1 / -1}}@media(max-width:430px){.sync-facts,.sync-summary{grid-template-columns:1fr}}
