:root{--ink:#183b32;--muted:#78847e;--green:#245747;--line:#e5ebe6;--paper:#fff;--soft:#f4f7f4;--social:#70628c;--career:#426b90;--talk:#99713a;--learn:#427e68;--wellbeing:#748444}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0}body{color:var(--ink);background:#eef2ef;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}:is(button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible){outline-offset:2px;outline:2px solid #7caa8c}svg{flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:99;background:var(--green);color:#fff;padding:12px;position:fixed;top:-80px;left:20px}.skip:focus{top:10px}.calendar-app{background:var(--paper);flex-direction:column;max-width:1040px;height:100dvh;margin:auto;display:flex;overflow:hidden}.app-header{min-height:62px;padding:7px 22px 4px;padding-top:max(7px,env(safe-area-inset-top));flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.app-header h1{letter-spacing:-1px;font-size:23px;font-weight:650}.app-header h1 span{color:#6f8b7a;margin-left:2px;font-weight:450}.icon-button{width:44px;height:44px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{background:var(--soft)}.options-button{margin-right:-10px;position:relative}.options-button i{background:var(--green);border-radius:50%;width:6px;height:6px;position:absolute;top:8px;right:7px}.calendar-main{flex-direction:column;flex:1;min-height:0;display:flex}.calendar-controls{flex-shrink:0;padding:0 18px 16px}.period-nav{justify-content:space-between;align-items:center;min-height:48px;margin-bottom:8px;display:flex}.period-nav h2{letter-spacing:-.5px;text-align:center;font-size:19px;font-weight:550}.period-nav .icon-button{color:#7c8c82;width:40px;height:44px}.view-tabs{background:#f0f4f0;border-radius:10px;max-width:360px;margin:0 auto;padding:3px;display:flex}.view-tabs button{color:#839087;border-radius:7px;flex:1;height:35px;font-size:13px;font-weight:500}.view-tabs button[aria-pressed=true]{color:var(--green);background:#fff;box-shadow:0 1px 5px #1239200c}.filter-indicator{color:#638062;text-align:left;background:#f2f6ef;align-items:center;gap:6px;padding:7px 20px;font-size:11px;display:flex}.filter-indicator>span{margin-left:auto}.calendar-body{overscroll-behavior:contain;min-height:0;padding-bottom:env(safe-area-inset-bottom);scrollbar-width:thin;flex:1;overflow-y:auto}.month-calendar{flex-direction:column;height:100%;min-height:570px;display:flex}.weekdays{text-align:center;border-bottom:1px solid var(--line);letter-spacing:.2px;color:#8c9690;flex-shrink:0;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;height:31px;font-size:10px;font-weight:500;display:grid}.weekdays span:nth-last-child(-n+2){color:#aab3ad}.month-grid{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));min-height:0;display:grid}.month-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:5px 3px 3px;overflow:hidden}.month-cell:nth-child(7n){border-right:0}.month-cell:nth-child(7n),.month-cell:nth-child(7n-1){background:#fafcf9}.date-number{border-radius:50%;justify-content:center;align-items:center;width:29px;height:29px;margin:0 auto 3px;font-size:12px;font-weight:500;display:flex}.today-cell .date-number{background:var(--green);color:#fff}.outside-month .date-number{color:#bac3bc}.outside-month .calendar-event{opacity:.45}.calendar-event{--event-ink:#557563;--event-bg:#eef4ef;color:var(--event-ink);background:var(--event-bg);border-left:2px solid color-mix(in srgb,var(--event-ink) 50%,transparent);text-align:left;border-radius:3px;align-items:baseline;gap:8px;width:100%;min-width:0;padding:9px;display:flex}.social{--event-ink:#766190;--event-bg:#f0ecf6}.career{--event-ink:#476f95;--event-bg:#eaf1f8}.talk{--event-ink:#967341;--event-bg:#f7f1e6}.learn{--event-ink:#4e7c6c;--event-bg:#eaf3ef}.wellbeing{--event-ink:#738646;--event-bg:#f0f4e6}.event-clock{white-space:nowrap;opacity:.85;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.event-name{min-width:0;font-size:12px;font-weight:500;line-height:1.35}.cell-events{flex-direction:column;gap:3px;display:flex}.compact{border-left-width:2px;min-height:27px;max-height:35px;padding:3px;display:block;overflow:hidden}.compact .event-clock{display:none}.compact .event-name{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:9px;font-weight:500;line-height:1.27;display:-webkit-box;overflow:hidden}.more-events{text-align:center;color:#909c94;white-space:nowrap;min-height:18px;padding:3px 0;font-size:8px;line-height:1}.week-calendar{border-top:1px solid var(--line);flex-direction:column;min-height:100%;display:flex}.week-row{border-bottom:1px solid var(--line);flex:1;grid-template-columns:60px minmax(0,1fr);gap:8px;min-height:82px;padding:11px 14px 11px 4px;display:grid}.week-date{flex-direction:column;align-self:start;align-items:center;gap:5px;padding:5px 0;display:flex}.week-date span{color:#9ba69f;font-size:10px}.week-date strong{letter-spacing:-.6px;border-radius:50%;place-items:center;width:34px;height:34px;font-size:21px;font-weight:450;display:grid}.today-row .week-date strong{background:var(--green);color:#fff}.today-row .week-date span{color:var(--green)}.week-events{flex-direction:column;justify-content:center;gap:4px;min-width:0;display:flex}.week-events .calendar-event{min-height:35px}.no-events{color:#cbd4cc;padding-left:8px;font-size:17px}.day-calendar{padding-top:4px}.all-day-row{border-bottom:1px solid var(--line);grid-template-columns:55px minmax(0,1fr);gap:5px;padding:0 15px 17px 8px;display:grid}.all-day-label{color:#99a59d;padding-top:12px;font-size:9px}.all-day-row>div{gap:4px;display:grid}.all-day-row .event-clock{display:none}.day-timeline{margin:27px 15px 0 0;position:relative}.hour-line{align-items:center;gap:10px;height:1px;display:flex;position:absolute;left:0;right:0}.hour-line time{text-align:right;color:#9da9a0;font-variant-numeric:tabular-nums;width:48px;font-size:10px}.hour-line>span{background:var(--line);flex:1;height:1px}.timed-events{height:100%;position:absolute;top:0;left:61px;right:0}.timed-event{text-align:left;border-left:3px solid color-mix(in srgb,var(--event-ink) 70%,transparent);background:var(--event-bg);color:var(--event-ink);border-radius:5px;min-width:0;padding:5px 9px;position:absolute;overflow:hidden}.timed-event-time{opacity:.85;white-space:nowrap;margin-bottom:3px;font-size:10px;line-height:1.2;display:block}.timed-event strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:550;line-height:1.35;display:-webkit-box;overflow:hidden}.timed-location{white-space:nowrap;text-overflow:ellipsis;opacity:.8;margin-top:6px;font-size:10px;display:block;overflow:hidden}.empty-day{color:#a0aaa3;font-size:12px;position:absolute;top:23px;left:75px}.sheet-title{letter-spacing:-.5px;margin:5px 0 23px;padding-right:20px;font-size:22px;font-weight:550}.options-list{flex-direction:column;gap:3px;display:flex}.options-list>button{text-align:left;align-items:center;gap:14px;min-height:49px;padding:8px 2px;font-size:14px;display:flex}.options-list>button>svg{color:#859a8a}.option-meta{color:#9aa79d;margin-left:auto;font-size:12px}.menu-divider{background:var(--line);height:1px;margin:10px 0}.toggle{background:#e1e8e1;border-radius:20px;align-items:center;width:34px;height:21px;margin-left:auto;padding:3px;display:flex}.toggle i{background:#fff;border-radius:50%;width:15px;height:15px;box-shadow:0 1px 3px #00220b12}.toggle.on{background:var(--green);justify-content:flex-end}.menu-footnote{color:#a0aca1;margin:24px 0 0;font-size:10px}.menu-error{color:#9a784c;background:#fbf5e9;border-radius:7px;margin-top:15px;padding:12px;font-size:12px;line-height:1.6}.filter-fields{gap:21px;margin-top:25px;display:grid}.filter-fields label{color:#7e8c80;gap:9px;font-size:12px;display:grid}.filter-fields input[type=search],.filter-fields select{border:1px solid var(--line);width:100%;height:47px;color:var(--ink);background:#fff;border-radius:7px;padding:11px 12px;font-size:16px}.filter-fields .checkbox-label{color:var(--ink);align-items:center;gap:10px;font-size:14px;display:flex}.checkbox-label input{width:18px;height:18px;accent-color:var(--green)}.filter-actions{gap:12px;margin-top:28px;display:flex}.primary-button,.secondary-button{border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 17px;font-size:13px;display:inline-flex}.primary-button{background:var(--green);color:#fff}.secondary-button{background:var(--soft);color:var(--green);border:1px solid var(--line)}.filter-actions .primary-button{flex:1}.saved{color:#2e7551!important}.sources-list{gap:0;display:grid}.sources-list article{border-top:1px solid var(--line);padding:17px 0}.sources-list article>a{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.source-state{color:#83947d;margin:10px 0 7px;font-size:10px;display:inline-block}.sources-list article>p{color:#778674;font-size:12px;line-height:1.65}.sources-list article>small{color:#96a38d;margin-top:9px;font-size:10px;line-height:1.65;display:block}.refresh-button{margin-top:16px}.review-queue{margin-top:27px}.review-queue h3{font-size:13px}.review-queue article{overflow-wrap:anywhere;margin-top:16px;font-size:12px;line-height:1.7}.review-queue article a{color:#527444;align-items:center;gap:8px;display:flex}.review-queue p{color:#8d9984}.category{color:var(--event-ink,var(--green));font-size:11px;display:inline-flex}.category.modal-category{border-color:var(--line)}.modal{width:calc(100% - 32px);max-width:610px;max-height:calc(100dvh - 40px);color:var(--ink);background:#fcfdf9;border:1px solid #e0e7d6;border-radius:16px;padding:0;overflow-y:auto;box-shadow:0 30px 100px #0b251740}.modal-inner{padding:36px;position:relative}.close{position:absolute;top:15px;right:15px}.modal-category{border:1px solid #dfe6d5;border-radius:20px;margin-bottom:17px;padding:7px 10px;font-size:10px;display:inline-flex}.modal-title{letter-spacing:-.6px;padding-right:14px;font-family:DM Serif Display,Georgia;font-size:31px;font-weight:400;line-height:1.22}.modal-organizer{color:#94a084;margin-top:12px;font-size:12px}.detail-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:18px;margin:24px 0;padding:21px 0;display:grid}.detail-facts>div{align-items:flex-start;gap:13px;display:flex}.detail-facts svg{color:#8aa371;margin-top:1px}.detail-facts strong{font-size:12px;font-weight:550;display:block}.detail-facts small{color:#8b9a79;margin-top:6px;font-size:10px;line-height:1.5;display:block}.description{color:#7b8b6b;margin:19px 0;font-size:13px;line-height:1.85}.detail-notice{color:#9a7b3d;background:#fcf3df;border-radius:7px;align-items:flex-start;gap:9px;margin:19px 0;padding:14px;display:flex}.detail-notice p{font-size:11px;line-height:1.75}.detail-notice svg{margin-top:2px}.deadline{color:#907338;align-items:flex-start;gap:7px;margin:15px 0;font-size:11px;line-height:1.7;display:flex}.detail-meta{grid-template-columns:1fr 1fr;gap:16px;margin:22px 0;font-size:11px;display:grid}.detail-meta span{color:#9ba88a;margin-bottom:6px;display:block}.detail-meta b{font-weight:500}.register{width:100%;margin-top:3px;padding:15px}.registration-note{text-align:center;color:#9aa78b;margin:9px 0 19px;font-size:9px;line-height:1.7;display:block}.detail-actions{justify-content:space-between;gap:8px;display:flex}.detail-actions button{border:1px solid #dee6d3;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:7px;padding:10px 8px;font-size:11px;display:flex}.google-link{color:#748b5e;justify-content:center;align-items:center;gap:6px;margin:19px 0;font-size:10px;display:flex}.detail-sources{border-top:1px solid var(--line);margin-top:21px;padding-top:19px}.detail-sources h3{margin-bottom:14px;font-size:11px;font-weight:600}.detail-sources a{color:#698353;justify-content:space-between;align-items:center;margin-top:13px;font-size:11px;display:flex}.detail-sources small{color:#a0ac90;margin-top:4px;font-size:9px;display:block}.suggest-form{gap:18px;margin-top:25px;display:grid}.suggest-form label{gap:9px;font-size:12px;display:grid}.suggest-form input,.suggest-form textarea{resize:vertical;width:100%;color:var(--ink);background:#fff;border:1px solid #dce5cf;border-radius:7px;padding:12px;font-size:12px}.suggest-form>p{color:#94a184;font-size:10px;line-height:1.8}.form-error{color:#9a6842;background:#f9e9dd;border-radius:7px;padding:12px;font-size:12px}.about-content h3{margin:22px 0 8px;font-size:14px}.about-content p{color:#839475;font-size:12px;line-height:1.85}.about-content{margin-bottom:26px}.toast{z-index:50;color:#edf5df;background:#204a38;border-radius:8px;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 32px);padding:14px 20px;font-size:12px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 35px #19381930}.copy-fallback{color:#7f946c;margin:20px 0;font-size:11px;display:block}.copy-fallback textarea{width:100%;min-height:100px;margin-top:8px;font-size:11px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal{background:#fff;border:0;border-radius:18px;max-width:540px;max-height:calc(100dvh - 40px);box-shadow:0 18px 90px #163b2c25}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#163b2c40}.modal-inner{padding:30px 27px}.modal-title{letter-spacing:-.7px;font-family:inherit;font-size:25px;font-weight:550}.description{color:#778779;font-size:13px}.detail-facts strong{font-size:13px}.detail-facts small{color:#8b9a89;font-size:11px}.detail-notice p{font-size:12px}.detail-actions button{min-height:44px;font-size:11px}.detail-sources a{font-size:12px}.detail-sources small,.registration-note{font-size:10px}.about-content p{color:#7f8e7a}.close{width:40px;height:40px;top:9px;right:9px}.suggest-form input,.suggest-form textarea{font-size:16px}.toast{background:#244c3c;border-radius:9px;padding:12px 17px;font-size:12px;bottom:20px}.category.social{color:var(--social)}.category.career{color:var(--career)}.category.talk{color:var(--talk)}.category.learn{color:var(--learn)}.category.wellbeing{color:var(--wellbeing)}@media (min-width:600px){.app-header{min-height:76px;padding:16px 30px 4px}.app-header h1{font-size:27px}.calendar-controls{padding:0 30px 18px}.period-nav{max-width:420px;margin:0 auto 9px}.period-nav h2{font-size:23px}.weekdays{height:39px;font-size:11px}.month-cell{padding:8px}.date-number{width:32px;height:32px;margin-bottom:6px;font-size:14px}.compact{min-height:31px;max-height:45px;padding:5px}.compact .event-clock{margin-right:5px;font-size:9px;display:inline}.compact .event-name{font-size:11px;line-height:1.45;display:inline}.more-events{margin-top:3px;font-size:10px}.week-row{grid-template-columns:75px minmax(0,1fr);padding:14px 25px 14px 10px}.week-events{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;display:grid}.week-events .calendar-event{align-items:baseline;min-height:42px}.week-date strong{font-size:25px}.event-name{font-size:13px}.day-calendar{max-width:800px;margin:auto}.calendar-event:hover,.timed-event:hover{filter:brightness(.98)}.timed-event strong{font-size:14px}.timed-event-time{font-size:11px}}@media (max-width:599px){.modal{width:100%;max-width:100%;max-height:90dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:20px 20px 0 0;margin:auto 0 0}.modal-inner{padding:29px 23px 25px}.modal:before{content:"";background:#d9e1d9;border-radius:4px;width:30px;height:3px;display:block;position:absolute;top:9px;left:calc(50% - 15px)}.sheet-title{font-size:21px}.options-sheet .modal-inner{padding-bottom:28px}.month-calendar{min-height:570px}.detail-actions button{gap:5px}.calendar-event:not(.compact) .event-name{font-size:12px}}@media (max-width:350px){.compact .event-name{font-size:8px}.month-cell{padding-left:2px;padding-right:2px}.app-header{padding-left:18px}.app-header h1{font-size:21px}.period-nav h2{font-size:18px}.more-events{font-size:7px}.timed-event{padding:4px 5px}.timed-event strong{font-size:11px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.short-event{padding:4px 7px}.short-event strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.short-event .timed-event-time{margin-bottom:2px;font-size:9px}.week-events .event-name{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.week-events .calendar-event{min-height:30px;padding:6px 8px}.week-row{padding-top:8px;padding-bottom:8px}.week-more{text-align:left;color:#8b9c8f;min-height:20px;padding:2px 9px;font-size:10px}.week-events .week-more{grid-column:1/-1}@media (max-width:599px){.month-cell{padding:3px 2px 2px}.date-number{width:24px;height:24px;margin-bottom:2px;font-size:11px}.compact{min-height:25px;max-height:25px;padding:2px}.compact .event-name{font-size:9px;line-height:1.15}.more-events{min-height:16px;padding:2px 0}.week-events{gap:3px}}@media (min-width:600px){.month-cell{padding:5px}.date-number{width:26px;height:26px;margin-bottom:3px;font-size:12px}.compact{white-space:nowrap;text-overflow:ellipsis;min-height:25px;max-height:25px;padding:4px;overflow:hidden}.compact .event-name{white-space:nowrap;font-size:11px;line-height:1.2}.compact .event-clock{font-size:9px}.more-events{min-height:16px;margin-top:0;padding:2px 0}}
