.et-page { max-width: 1100px; margin: 32px auto; padding: 24px; color: #e4eaf3; }
.et-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 26px; }
.et-heading h1 { margin: 0; font-size: 32px; color: #f1d091; }
.et-heading p { max-width: 430px; color: #a9b7ca; }
.et-eyebrow { font-size: 11px; letter-spacing: 2px; color: #cbac73; margin-bottom: 8px; }
.et-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.et-card { min-width: 0; border: 1px solid #30415a; background: linear-gradient(145deg,#14243b,#0a1423); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
.et-card > header { padding: 18px 18px 12px; }
.et-card h2 { font-size: 18px; margin: 0; color: #f1d091; overflow-wrap: anywhere; }
.et-desc { margin: 6px 0 0; font-size: 13px; color: #a9b7ca; }
.et-countdown { padding: 11px 16px; font-size: 24px; font-weight: 700; color: #fff; font-variant-numeric: tabular-nums; letter-spacing: 1px; background: #08111d; border-top: 1px solid #223248; border-bottom: 1px solid #223248; }
.et-next { display: flex; justify-content: space-between; align-items: center; padding: 10px 18px; font-size: 13px; color: #a9b7ca; background: #0c1a2b; }
.et-next b { color: #f1d091; }
.et-schedule { padding: 12px 18px 16px; }
.et-schedule-title { font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: #7f8ea3; margin-bottom: 6px; }
.et-line { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; font-size: 13px; border-bottom: 1px dashed #23344c; }
.et-line:last-child { border-bottom: 0; }
.et-day { color: #cbac73; }
.et-times { color: #cdd6e2; text-align: right; overflow-wrap: anywhere; }
.et-empty { padding: 40px 20px; text-align: center; border: 1px solid #30415a; border-radius: 12px; }
.et-subheading { margin: 34px 0 16px; font-size: 22px; color: #f1d091; }
.et-countdown.is-alive { color: #7ee08a; font-size: 22px; background: rgba(20,60,30,.35); }

.etm-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.etm-nav a { font-size: 12px; padding: 5px 12px; border: 1px solid var(--line, #2b3b52); border-radius: 999px; color: var(--muted, #a9b7ca); text-decoration: none; }
.etm-nav a:hover { border-color: var(--gold, #f6a821); color: var(--gold-2, #ffc656); }
.etm-nav a span { opacity: .6; margin-left: 4px; }
.etm-realm { margin: 22px 0 12px; font-size: 16px; color: var(--gold-2, #f1d091); border-bottom: 1px solid var(--line, #2b3b52); padding-bottom: 6px; }
.etm-realm span { font-size: 12px; font-weight: normal; color: var(--muted, #a9b7ca); margin-left: 6px; }
.etm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); gap: 12px; }
.etm-card { border: 1px solid var(--line, #30415a); background: linear-gradient(160deg, var(--panel-2, #14243b), var(--panel, #0a1423)); border-radius: var(--radius-sm, 10px); padding: 13px 15px; }
.etm-card .etm-name { font-size: 14px; font-weight: 600; color: var(--text, #e4eaf3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.etm-card .etm-count { margin: 7px 0 4px; padding: 0; background: none; border: 0; font-size: 23px; font-weight: 800; letter-spacing: .5px; font-variant-numeric: tabular-nums; color: #fff; }
.etm-card .etm-count.is-alive { color: #7ee08a; font-size: 18px; background: none; }
.etm-card .etm-meta { font-size: 12px; color: var(--text, #cdd6e2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 2px; }
.etm-card .etm-meta span { color: var(--muted, #8aa0c4); }

.et-dream { color: var(--text, #e7eefc); }
.et-dream__intro { color: var(--muted, #8aa0c4); margin: 0 0 24px; font-size: 15px; line-height: 1.5; max-width: 640px; }
.et-dream__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.etd-card { background: linear-gradient(160deg, var(--panel-2, #122744), var(--panel, #0e1f38)); border: 1px solid var(--line, rgba(120,160,220,.14)); border-radius: var(--radius, 14px); overflow: hidden; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.etd-card:hover { transform: translateY(-3px); border-color: rgba(246,168,33,.45); box-shadow: 0 14px 34px rgba(0,0,0,.35); }
.etd-head { padding: 18px 20px 14px; }
.etd-head h2 { margin: 0; font-size: 19px; color: var(--gold-2, #ffc656); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.etd-desc { margin: 6px 0 0; font-size: 13px; line-height: 1.4; min-height: 18px; color: var(--muted, #8aa0c4); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.etd-count { padding: 13px 18px; font-size: 27px; font-weight: 800; letter-spacing: 1px; font-variant-numeric: tabular-nums; color: #fff; background: rgba(4,12,24,.5); border-top: 1px solid var(--line, rgba(120,160,220,.14)); border-bottom: 1px solid var(--line, rgba(120,160,220,.14)); }
.etd-next { display: flex; justify-content: space-between; align-items: center; padding: 12px 20px; font-size: 13px; color: var(--muted, #8aa0c4); }
.etd-next b { color: var(--gold-2, #ffc656); font-weight: 700; }
.etd-sched { padding: 6px 20px 18px; }
.etd-sched__t { font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted, #8aa0c4); opacity: .8; margin-bottom: 8px; }
.etd-row { display: flex; gap: 14px; padding: 6px 0; border-bottom: 1px dashed var(--line, rgba(120,160,220,.14)); font-size: 13px; }
.etd-row:last-child { border-bottom: 0; }
.etd-day { flex: 0 0 auto; min-width: 92px; color: var(--gold, #f6a821); white-space: nowrap; }
.etd-times { flex: 1; text-align: right; color: var(--text, #e7eefc); opacity: .92; }
.et-dream__sub { margin: 34px 0 18px; font-size: 20px; color: var(--gold-2, #ffc656); }
.et-dream__sub--first { margin-top: 10px; }
.etd-count.is-alive { color: #7ee08a; font-size: 26px; background: rgba(20,60,30,.35); }
@media(max-width: 980px) { .et-dream__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width: 600px) { .et-dream__grid { grid-template-columns: minmax(0,1fr); } }
@media(max-width: 900px) { .et-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width: 560px) { .et-page { padding: 14px; margin: 14px auto; } .et-heading { display: block; } .et-grid { grid-template-columns: minmax(0,1fr); } }
