:root{--ec-exam:#2f4fb8;--ec-apply:#b23b2c;--ec-note:#1f7a4a}:root[data-theme=dark]{--ec-exam:#9fb4ff;--ec-apply:#ff9b8c;--ec-note:#79c99c}.ec-app{gap:16px;display:grid}.ec-h{margin:0 0 10px;font-size:20px}.ec-hero{flex-wrap:wrap;align-items:center;gap:14px 28px;display:flex}.ec-stat{display:grid}.ec-stat-num{color:var(--brand);font-variant-numeric:tabular-nums;font-family:DM Serif Display,Georgia,serif;font-size:clamp(40px,10vw,56px);line-height:1}.ec-stat-label{color:var(--muted);font-size:15px}.ec-next{background:var(--soft,var(--bg));border:1px solid var(--line);border-radius:16px;flex:220px;gap:2px;padding:12px 16px;display:grid}.ec-next-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:13px}.ec-next-days{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.ec-chips .dt-chip{transition:transform .15s}.ec-chips .dt-chip:active,.ec-seg .dt-chip:active{transform:scale(.96)}.ec-n{opacity:.75;margin-left:2px;font-size:12px}.ec-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.ec-msg{min-height:1.4em;color:var(--ec-note);margin:8px 0 0;font-size:14px}.ec-timeline{gap:8px;display:grid}.ec-month-h{color:var(--muted);text-transform:capitalize;margin:10px 4px 8px;font-size:18px}.ec-list{border-left:2px solid var(--line);gap:12px;margin:0;padding:0 0 0 14px;list-style:none;display:grid}.ec-item{background:var(--surface);border:1px solid var(--line);border-radius:16px;grid-template-columns:56px minmax(0,1fr);gap:12px;padding:14px;display:grid;position:relative}.ec-item:before{content:"";background:var(--surface);border:3px solid var(--ec-exam);border-radius:50%;width:12px;height:12px;position:absolute;top:22px;left:-22px}.ec-item.k-apply-by:before{border-color:var(--ec-apply)}.ec-item.k-notification:before{border-color:var(--ec-note)}.ec-item.t-past>*{opacity:.62}.ec-date{text-align:center;background:var(--soft,var(--bg));border-radius:12px;place-content:center;align-self:start;min-height:60px;line-height:1.1;display:grid}.ec-date b{font-size:22px}.ec-date span{color:var(--muted);font-size:12px}.ec-main h3{margin:6px 0 4px;font-size:17px;line-height:1.3}.ec-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ec-org{background:var(--ink);color:var(--surface);border-radius:8px;align-self:start;padding:3px 8px;font-size:13px;font-weight:700}.ec-kind{color:var(--ec-exam);font-size:13px;font-weight:600}.ec-kind.k-apply-by{color:var(--ec-apply)}.ec-kind.k-notification{color:var(--ec-note)}.ec-when{flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;font-size:15px;display:flex}.ec-count{background:var(--soft,var(--bg));font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700;display:inline-block}.ec-count.t-soon{background:var(--dt-warn-bg);color:var(--dt-warn)}.ec-count.t-now{background:var(--dt-yes-bg);color:var(--dt-yes)}.ec-note{color:var(--muted);margin:6px 0 0;font-size:14px}.ec-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;margin-top:10px;display:flex}.ec-src{color:var(--brand);overflow-wrap:anywhere;flex:200px;align-items:center;min-height:44px;font-size:13px;display:inline-flex}.ec-add{min-height:44px;padding:8px 14px;font-size:14px}.ec-pending h2,.ec-tools h2{margin:0 0 6px;font-size:22px}.ec-plist{gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.ec-plist li{border-bottom:1px solid var(--line);grid-template-columns:64px minmax(0,1fr);gap:10px;padding-bottom:12px;display:grid}.ec-plist li:last-child{border-bottom:0;padding-bottom:0}.ec-plist p{color:var(--muted);margin:4px 0;font-size:14px}.ec-plist a{align-items:center;min-height:44px;display:inline-flex}.ec-plist .ec-org{justify-self:start}.ec-tool-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.ec-tool-grid a{border:1px solid var(--line);background:var(--surface);min-height:64px;color:var(--ink);border-radius:14px;gap:2px;padding:12px 14px;text-decoration:none;transition:transform .15s;display:grid}.ec-tool-grid a:hover{transform:translateY(-2px)}.ec-tool-grid span{color:var(--muted);font-size:14px}@keyframes ec-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes ec-fade{0%{opacity:0}to{opacity:1}}.ec-item,.ec-month-h{animation:.45s cubic-bezier(.2,.7,.2,1) both ec-rise;animation-delay:calc(var(--i,0) * 45ms)}@media (prefers-reduced-motion:reduce){.ec-item,.ec-month-h{animation:.2s both ec-fade}.ec-chips .dt-chip,.ec-tool-grid a{transition:none}.ec-tool-grid a:hover{transform:none}}@media (width>=720px){.ec-item{grid-template-columns:64px minmax(0,1fr);padding:16px 18px}.ec-main h3{font-size:18px}}@media print{.ec-filters,.ec-add,.ec-tools{display:none!important}.ec-item{break-inside:avoid;animation:none}}
