*{box-sizing:border-box}
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#171717;background:#f6f6f3}
body{margin:0;min-height:100vh}
.shell{width:min(760px,calc(100% - 32px));margin:0 auto;padding:48px 0 28px}
.hero{text-align:center;margin-bottom:30px}
.back-link{display:block;font-size:13px;color:#888;text-decoration:none;margin-bottom:14px}
.back-link:hover{color:#171717}
.brand{font-weight:750;letter-spacing:-.03em;font-size:18px;margin-bottom:34px;display:inline-block;color:inherit;text-decoration:none}
.brand span{opacity:.45}
h1{font-size:clamp(34px,7vw,56px);line-height:1.02;letter-spacing:-.055em;margin:0 auto 14px;max-width:650px}
.lede{font-size:17px;line-height:1.55;color:#666;max-width:580px;margin:auto}
.dropzone{background:#fff;border:1.5px dashed #bdbdb7;border-radius:22px;padding:62px 24px;text-align:center;transition:.15s;box-shadow:0 8px 30px rgba(0,0,0,.04)}
.dropzone.drag{border-color:#171717;background:#fbfbf8;transform:translateY(-2px)}
.drop-icon{width:48px;height:48px;border-radius:14px;background:#f0f0ec;display:grid;place-items:center;margin:0 auto 18px;font-size:28px;color:#555}
h2{font-size:22px;letter-spacing:-.025em;margin:0 0 7px}
.dropzone p{color:#777;margin:0 0 17px}
.text-button{appearance:none;border:0;background:none;padding:0;font:inherit;text-decoration:underline;cursor:pointer;color:#171717}
.dropzone small{color:#999}
.results{margin-top:30px}
.results-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:#777;margin:0 0 6px}
.selection-actions{display:flex;gap:8px}
button,.link-button{font:inherit}
.secondary,.primary{border-radius:11px;padding:10px 15px;cursor:pointer;font-weight:650}
.secondary{border:1px solid #d5d5cf;background:#fff;color:#222}
.primary{border:1px solid #171717;background:#171717;color:#fff}
.primary:disabled{opacity:.35;cursor:not-allowed}
.event-list{display:grid;gap:9px}
.event{display:grid;grid-template-columns:24px 1fr auto;align-items:start;gap:12px;padding:15px 16px;background:#fff;border:1px solid #e2e2dc;border-radius:14px}
.event input{width:18px;height:18px;margin-top:3px;accent-color:#171717}
.event-title{font-weight:650;line-height:1.35}
.event-meta{font-size:13px;color:#777;margin-top:5px;line-height:1.45}
.event-location{font-size:12px;color:#999;margin-top:3px}
.badge{font-size:11px;color:#777;background:#f0f0ec;border-radius:999px;padding:4px 7px;white-space:nowrap}
.warnings{margin:0 0 12px;padding:12px 14px;background:#fff8e8;border:1px solid #ead9aa;border-radius:12px;color:#6d5b2c;font-size:13px}
.bottom-bar{position:sticky;bottom:12px;margin-top:18px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid #dddcd6;border-radius:15px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 8px 30px rgba(0,0,0,.08)}
#selectedSummary{font-size:13px;color:#666;padding-left:5px}
.success{text-align:center;background:#fff;border:1px solid #deded8;border-radius:22px;padding:50px 24px;margin-top:30px}
.success-mark{width:54px;height:54px;border-radius:50%;background:#ecece7;display:grid;place-items:center;margin:0 auto 18px;font-size:25px}
.success p{color:#666;line-height:1.5}
.success-actions{display:flex;justify-content:center;gap:10px;margin:22px 0 10px}
.link-button{text-decoration:none;display:inline-block}
.note{font-size:13px;max-width:520px;margin:18px auto 0}
footer{display:flex;justify-content:center;gap:8px;color:#999;font-size:12px;margin-top:28px}
.utility-grid{display:grid;gap:14px}
.calendar-catalog .utility-grid>h2{grid-column:1/-1}
@media(min-width:561px){.calendar-catalog .utility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.utility-card{display:block;background:#fff;border:1px solid #e2e2dc;border-radius:18px;padding:22px 24px;text-decoration:none;color:inherit;box-shadow:0 8px 30px rgba(0,0,0,.04);transition:.15s}
.utility-card:hover{border-color:#171717;transform:translateY(-2px)}
.utility-card-title{font-weight:650;font-size:17px;letter-spacing:-.01em}
.utility-card-desc{font-size:14px;color:#777;margin-top:5px;line-height:1.5}
.splitter .dropzone{position:relative}
.splitter-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.splitter .dropzone:focus-within{outline:2px solid #171717;outline-offset:4px}
.splitter label.text-button{display:inline-block}
.sample-calendar{text-align:center;font-size:13px;color:#666;line-height:1.6;margin:18px 0}
.splitter-status{text-align:center;font-size:14px;color:#555;line-height:1.6;overflow-wrap:anywhere}
.splitter-status:empty{display:none}
.splitter-source{min-width:0}
.splitter-filename{font-size:13px;color:#666;margin:0 0 6px;overflow-wrap:anywhere}
.splitter-event{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;background:#fff;border:1px solid #e2e2dc;border-radius:14px}
.splitter-event>div{min-width:0;overflow-wrap:anywhere}
.splitter-event h3{margin:0;font-size:16px}
.splitter-event p{margin-bottom:0}
.splitter-event>a{flex-shrink:0;text-align:center}
.splitter-reset{margin-top:20px;text-align:center}
.splitter a:focus-visible,.splitter button:focus-visible{outline:2px solid #171717;outline-offset:4px}
@media(max-width:420px){.splitter-event{align-items:stretch;flex-direction:column;gap:12px}}
@media(max-width:560px){.shell{padding-top:28px}.results-head{align-items:start;flex-direction:column}.selection-actions{width:100%}.selection-actions button{flex:1}.bottom-bar{align-items:stretch;flex-direction:column}.bottom-bar .primary{width:100%}.success-actions{flex-direction:column}.success-actions>*{width:100%}}
