@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101512;--panel:#171e19;--border:#30392e;--text:#eeeede;--muted:#909b90;--gold:#c8ad70;--green:#b7c996}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.topbar{height:88px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px)}.brand{text-decoration:none;color:var(--text);font-family:Cinzel,serif;font-size:21px;letter-spacing:3px;display:flex;align-items:center;gap:12px}.brand small{font:9px 'DM Sans',sans-serif;letter-spacing:2px;color:var(--muted);border-left:1px solid var(--border);padding-left:15px;margin-left:7px}.emblem{color:var(--gold);font-size:35px}.header-note{color:var(--muted);font-size:12px}.header-note i,.legend i{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:8px}main{max-width:1240px;margin:auto;padding:0 36px}.intro{position:relative;min-height:342px;padding:48px 0 37px;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:700;color:var(--gold)}h1{font-family:Cinzel,Georgia,serif;font-weight:500;font-size:49px;line-height:1.18;margin:17px 0 14px;letter-spacing:-1px}h1 span{color:var(--green)}.intro p{color:var(--muted);line-height:1.8;margin:0}.intro-meta{display:flex;gap:24px;color:#a6b09f;font-size:11px;margin-top:23px}.moon-art{position:absolute;right:0;top:30px;width:48%;height:300px;overflow:hidden;background:radial-gradient(ellipse at 55% 40%,#82986a17,transparent 65%);mask-image:linear-gradient(to right,transparent,black 20%,black 85%,transparent)}.moon{position:absolute;left:48%;top:32px;width:117px;height:117px;border-radius:50%;background:#c7c9a0;box-shadow:0 0 70px #bcc99518,inset -20px -4px 35px #555e43;opacity:.8}.moon:after{content:'';position:absolute;inset:10px;border-radius:50%;background:radial-gradient(circle at 30% 40%,#7d866e55 0 9%,transparent 10%),radial-gradient(circle at 65% 65%,#7d866e55 0 15%,transparent 16%)}.mountain{position:absolute;bottom:-80px;width:320px;height:230px;transform:rotate(45deg);background:#28352b;border-top:1px solid #586448}.m1{left:5%;bottom:-140px}.m2{left:40%;background:#1d2b23;bottom:-110px}.m3{left:65%;background:#15231c;bottom:-165px}.star{position:absolute;color:#a6b593}.s1{left:22%;top:55px}.s2{right:14%;top:37px}.s3{right:25%;top:158px;font-size:32px}.agenda-heading{display:flex;justify-content:space-between;align-items:center;margin:20px 0 23px}h2{font:500 26px Cinzel,Georgia,serif;margin:9px 0 0}.demo{border:1px solid var(--border);border-radius:30px;padding:7px 12px;font-size:10px;color:var(--muted)}.agenda{display:grid;grid-template-columns:1.4fr 1fr;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--panel)}.calendar-panel{padding:25px 28px 18px}.month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.month-nav h3{font:500 22px Cinzel,serif;margin:0}.month-nav button{background:transparent;color:#c3cab7;border:1px solid var(--border);border-radius:6px;width:32px;height:32px;font-size:23px;cursor:pointer}.month-nav button:hover{background:#2b3528}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekdays{color:var(--muted);font-size:9px;letter-spacing:1px;text-align:center;margin-bottom:12px}.day{height:57px;position:relative;border:1px solid transparent;background:transparent;color:#c4cbbf;border-radius:7px;cursor:pointer;font-size:13px}.day:hover{background:#273025}.day.outside{color:#525d52}.day.has-events{background:#242e21;color:#d8e4c4}.day.selected{border-color:var(--gold);background:#c8ad7015;color:#f0d59a;box-shadow:inset 0 0 0 1px #c8ad7010}.day .dots{position:absolute;bottom:8px;left:0;right:0;display:flex;justify-content:center;gap:4px}.dots i{width:4px;height:4px;border-radius:50%;background:var(--gold)}.legend{display:flex;justify-content:space-between;border-top:1px solid var(--border);margin-top:19px;padding-top:17px;font-size:10px;color:var(--muted)}.legend i{background:var(--gold);width:5px;height:5px}.legend b{display:inline-block;width:9px;height:9px;border:1px solid var(--gold);border-radius:2px;margin-right:7px}.details{border-left:1px solid var(--border);padding:29px 27px;background:#141b16}.detail-top{display:flex;align-items:center;justify-content:space-between}.detail-top .eyebrow{font-size:9px}#quest-count{font-size:10px;color:#a6b995}.details h3{font:500 23px Cinzel,serif;margin:20px 0 6px}.detail-sub{font-size:12px;color:var(--muted);margin:0 0 22px}.event{border:1px solid var(--border);border-radius:8px;padding:17px;margin-bottom:12px;background:linear-gradient(110deg,#242a1d88,#19211a)}.event-top{display:flex;align-items:center;gap:11px}.quest-icon{display:grid;place-items:center;background:#bfa56c13;border:1px solid #bfa56c30;color:var(--gold);width:39px;height:39px;border-radius:7px;font-size:21px}.event h4{font:600 15px Cinzel,serif;margin:0 0 4px}.event .type{font-size:10px;color:var(--muted)}.time{margin-left:auto;font-size:16px;color:var(--gold);font-weight:600}.event p{font-size:11px;color:#a6b09f;line-height:1.7;margin:13px 0 0}.tag{display:inline-block;margin-top:12px;padding:4px 7px;background:#a9bb8210;border:1px solid #a9bb8225;color:#a9bb82;font-size:9px;border-radius:4px}.notice{display:flex;gap:10px;border-top:1px solid var(--border);margin-top:23px;padding-top:17px;color:var(--gold)}.notice p{color:var(--muted);font-size:10px;line-height:1.8;margin:0}.notice strong{color:#bbc4b1;font-weight:500}.empty{padding:26px 16px;text-align:center;border:1px dashed var(--border);border-radius:8px;color:var(--muted);line-height:1.8}.empty span{display:block;font-size:28px;color:var(--gold);margin-bottom:12px}footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:30px 0;color:#6f7c6e;font-size:10px}.footer-brand{font-family:Cinzel,serif;letter-spacing:2px;color:#a7b297}@media(min-width:1500px){main{padding-top:20px}}@media(max-width:800px){.header-note{display:none}.agenda{grid-template-columns:1fr}.details{border-left:0;border-top:1px solid var(--border)}.moon-art{opacity:.5;right:-100px;width:70%}.intro>*:not(.moon-art){position:relative;z-index:1}footer{flex-wrap:wrap}.intro{min-height:330px}h1{font-size:42px}}@media(max-width:480px){main{padding:0 18px}.topbar{height:72px;padding:0 18px}.brand{font-size:17px;gap:6px}.brand small{font-size:8px}.intro-meta{gap:12px;font-size:9px}.calendar-panel{padding:22px 14px 18px}.day{height:48px}.weekdays,.calendar{gap:3px}.agenda-heading{gap:10px}h2{font-size:20px}.demo{font-size:9px;white-space:nowrap}.details{padding:24px 20px}h1{font-size:38px}.intro p{font-size:12px}.moon-art{right:-140px}.legend{font-size:9px}}

/* Estados del calendario: eventos dorados y selección con contorno blanco. */
.day{background:#1c251f;border-color:#344237;color:#e1e7de;font-size:15px}
.day:hover{background:#303e32;border-color:#829877}
.day.outside{background:transparent;border-color:transparent;color:#657361}
.day.has-events{background:#e3b854;border:2px solid #ffdb81;color:#241b09;font-weight:700;padding-bottom:20px;box-shadow:0 3px 14px #e3b85422}
.day.has-events:hover{background:#f5cd71;border-color:#fff0bd}
.day.selected{outline:2px solid #f4f7ed;outline-offset:2px;border-color:#f4f7ed;background:#354f3c;color:#fff;box-shadow:none}
.day.has-events.selected{background:#e3b854;color:#241b09;border-color:#ffdb81}
.day.selected:after{content:'✓';position:absolute;right:4px;top:1px;font-size:11px;font-weight:700}
.quest-badge{position:absolute;bottom:5px;left:2px;right:2px;font-size:9px;font-weight:700;line-height:15px;white-space:nowrap;color:#382709}
.legend{color:#c5cdbf;gap:12px}
.legend i{width:10px;height:10px;background:#e3b854;border-radius:3px;vertical-align:middle}
.legend b{width:10px;height:10px;border:2px solid #f4f7ed;background:#354f3c;vertical-align:middle}
.event{border-color:#606648;border-left:3px solid #e3b854;background:#222c20}
.time{color:#ffda80}
#quest-count{color:#ffda80;font-weight:700}
@media(max-width:480px){.day{font-size:14px}.quest-badge{font-size:8px;bottom:3px}.day.has-events{padding-bottom:17px}}

/* Identidad visual de la guild: noche, acero, fuego y hielo. */
:root{--bg:#090f1b;--panel:#111c2c;--border:#2c4058;--text:#edf2fb;--muted:#a0aec2;--gold:#f3b65f;--green:#8acbff}
body{background:radial-gradient(ellipse at 90% 0%,#15375a55,transparent 48%),var(--bg)}
.guild-avatar{width:45px;height:45px;object-fit:cover;border-radius:50%;border:1px solid #56738f}
.intro{min-height:415px;padding-top:67px;padding-bottom:48px}
.guild-art{position:absolute;right:0;top:8px;width:430px;height:400px;overflow:hidden;mask-image:linear-gradient(to right,transparent,black 15%,black 90%,transparent)}
.guild-art img{width:100%;height:100%;object-fit:contain;mask-image:linear-gradient(to bottom,black 82%,transparent)}
.intro h1,.intro p,.intro .eyebrow,.intro-meta{position:relative;z-index:1}
.intro-meta{color:#b8c9de}.details{background:#0c1625}.day{background:#152439;border-color:#30465e;color:#e2edfa}.day:hover{background:#243d58;border-color:#86bbec}.day.outside{background:transparent;border-color:transparent;color:#65778f}
.day.has-events,.day.has-events.selected{background:#f3b65f;color:#261705;border-color:#ffe0a3}.day.has-events:hover{background:#ffd28d}.quest-badge{color:#352006}.day.selected{background:#214f73;border-color:#e3f3ff;outline-color:#e3f3ff}.legend i{background:#f3b65f}.legend b{background:#214f73;border-color:#e3f3ff}
.event{background:linear-gradient(110deg,#192d45,#121f31);border-color:#36516c;border-left-color:#f3b65f}.quest-icon{background:#f3b65f16;border-color:#f3b65f55}.tag{background:#67b9ff15;border-color:#67b9ff40;color:#a2d6ff}.notice strong{color:#c7d8ee}.footer-brand{color:#b4c8e1}.month-nav button:hover{background:#243d58}.header-note i{background:#8acbff}
@media(max-width:900px){.guild-art{width:360px;opacity:.65;right:-65px}.intro h1{font-size:42px}}
@media(max-width:600px){.intro{display:flex;flex-direction:column;padding-top:30px;padding-bottom:20px;min-height:0}.guild-art{position:relative;order:-1;top:auto;right:auto;width:100%;height:270px;opacity:1;margin-bottom:15px;mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent)}.intro h1{font-size:36px;margin-top:13px}.intro-meta{flex-wrap:wrap}.guild-avatar{width:38px;height:38px}}

.important-quests{margin:8px 0 32px;padding:21px;border:1px solid var(--border);border-radius:10px;background:#101b2a}
.quest-list-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.quest-list-heading h2{font:600 16px 'DM Sans',sans-serif;margin:0}
.quest-list-heading>span{font-size:11px;color:var(--muted)}
.important-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.important-item{display:flex;flex-direction:column;justify-content:space-between;gap:12px;text-align:left;padding:14px 12px;border:1px solid #33475f;border-radius:7px;background:#162337;color:var(--text);min-height:88px}
.important-item strong{font-size:12px;line-height:1.5}.important-item span{font-size:10px;color:var(--muted);line-height:1.5}
.important-item.scheduled{border-color:#cb954c;background:#34291c;cursor:pointer}.important-item.scheduled span{color:#ffcf88}.important-item.scheduled:hover{background:#4a3621;border-color:#ffcf88}
@media(max-width:800px){.important-list{grid-template-columns:repeat(2,minmax(0,1fr))}.quest-list-heading{align-items:flex-start;flex-direction:column}.important-item:last-child{grid-column:1/-1}}

/* Lista de quests en filas, con POI e Inquisition agrupadas. */
.important-list{display:block;list-style:none;margin:0;padding:0}
.important-list li{margin:0;padding:0;border-bottom:1px solid var(--border)}
.important-list li:last-child{border-bottom:0}
.important-item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:0;padding:15px 4px;background:transparent;border:0;border-radius:0;box-shadow:none}
.important-item strong{font-size:13px}.important-item span{text-align:right;font-size:11px}
.important-item.scheduled{background:transparent;border:0}.important-item.scheduled strong{color:#ffcf88}.important-item.scheduled:hover{background:#f3b65f0c;border:0}
.event{border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;padding:17px 0;box-shadow:none}
@media(max-width:480px){.important-item{align-items:flex-start}.important-item strong{max-width:57%}.important-item span{max-width:43%}}

/* Lista: fechas confirmadas visualmente separadas de las pendientes. */
.important-quests{padding:20px;background:#101b2a}
.important-list li{border:0;margin-top:7px}
.important-item{padding:15px 16px;border-radius:6px}
.important-item.scheduled,.important-item.scheduled:hover{background:#f3b65f;border:1px solid #ffdda0;color:#241705;cursor:default;border-left:5px solid #ffedc9}
.important-item.scheduled strong,.important-item.scheduled span{color:#241705;font-weight:700}
.important-item.pending{background:#111a27;border:1px solid #253247;color:#7f8b9c}
.important-item.pending span{color:#758194}
/* Calendario con celdas amplias y cabecera de semana separada. */
.calendar-panel{padding:25px 24px 20px;background:#101b2b}
.month-nav{margin-bottom:22px}.month-nav h3{font-family:'DM Sans',sans-serif;font-size:23px;font-weight:700}
.month-nav button{width:36px;height:36px;background:#1b2d44;border-color:#3b526d;color:#e6f2ff}
.weekdays{padding:12px 0;margin-bottom:9px;border-top:1px solid #30435c;border-bottom:1px solid #30435c;color:#b4c5da;font-size:10px;font-weight:700}
.weekdays,.calendar{gap:7px}
.day{height:65px;font-size:16px;border:1px solid #2d4058;background:#17263a;color:#edf3fb;border-radius:6px;transition:background .15s,border-color .15s}
.day.outside{color:#52627a;background:#101a28;border-color:#1a283b}
.day.has-events,.day.has-events.selected{background:#ffbd59;border:2px solid #ffe0a6;color:#241705;box-shadow:0 0 14px #ffbd5920}
.day.has-events:hover{background:#ffd186}.day.selected{background:#23567c;border-color:#c6e6ff;outline:2px solid #c6e6ff;outline-offset:1px}
.day.selected:after{right:4px;top:3px;font-size:12px}.quest-badge{bottom:6px;font-size:10px;color:#241705}
.legend{margin-top:17px;padding-top:16px;color:#b4c5da}.legend i{background:#ffbd59}
@media(max-width:480px){.calendar-panel{padding:20px 12px}.weekdays,.calendar{gap:4px}.day{height:54px;font-size:14px}.quest-badge{font-size:8px;bottom:4px}.important-quests{padding:16px}.important-item{padding:13px 10px}.intro p{max-width:100%;line-height:1.9}}

/* Detalle breve: nombre y horarios legibles. */
.details h3{font-family:'DM Sans',sans-serif;font-size:25px;font-weight:600;line-height:1.35}
.detail-top .eyebrow{font-size:11px}#quest-count{font-size:13px}
.detail-sub{font-size:14px;margin:10px 0 23px}
.event{padding:0 0 22px;margin:0 0 20px}
.event h4{font-family:'DM Sans',sans-serif;font-size:22px;line-height:1.4;margin:0 0 20px;font-weight:600}
.quest-schedule{margin:0}.quest-schedule>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid #2c4058}
.quest-schedule dt{font-size:18px;color:#e2ebf8}.quest-schedule dd{margin:0;font-size:22px;font-weight:700;color:#ffcf88;font-variant-numeric:tabular-nums}
.attendance-note{font-size:14px;color:#b1c1d5;line-height:1.6;margin:0}
.empty{font-size:16px}

.simple-event{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0 24px}
.simple-event h4{margin:0;font-size:21px}.simple-event time{font-size:25px;font-weight:700;color:#ffcf88;white-space:nowrap}

.event-hours{margin:20px 0 24px}.event-hours>span,.event-details h5{display:block;font-size:14px;color:#b4c5da;font-weight:500;margin:0 0 9px}
.event-hours p{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;margin:0}.event-hours time{font-size:25px;font-weight:700;color:#ffcf88}.event-hours p span{font-size:14px;color:#c1cfe0}
.event-details{border-top:1px solid var(--border);padding-top:19px}.event-details h5{font-size:16px;color:#edf2fb;font-weight:600}.event-details p{font-size:15px;line-height:1.7;color:#b9c8da;margin:0}

.details .event{padding-top:23px}
.details .event .quest-title{font-size:30px;font-weight:700;line-height:1.3;color:#ffcf88;margin:0 0 10px}
.details .event .quest-date,.selected-date{font-size:17px;line-height:1.5;color:#fff;margin:0 0 23px}
.selected-date{margin-top:20px}
@media(max-width:480px){.details .event .quest-title{font-size:27px}.details .event .quest-date{font-size:16px}}

.requirement-group{margin:18px 0}.requirement-group h6{font-size:16px;font-weight:600;color:#ffcf88;margin:0 0 8px}.requirement-group ul{margin:0;padding-left:19px;color:#d3dfed;font-size:15px;line-height:1.65}.requirement-group li+li{margin-top:7px}.event-details>.requirement-group+p{border-top:1px solid var(--border);padding-top:15px;margin-top:20px}

.on-demand-quests{margin:30px 0 0;padding:24px;border:1px solid var(--border);border-radius:10px;background:#101b2a}
.on-demand-quests h2{font-family:'DM Sans',sans-serif;font-size:22px;font-weight:600;margin:0 0 10px}
.on-demand-quests>p{font-size:15px;line-height:1.7;color:#b9c8da;margin:0 0 20px;max-width:760px}
.on-demand-list{list-style:none;margin:0;padding:0}
.on-demand-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 0;border-top:1px solid var(--border)}
.on-demand-list strong{font-size:16px;color:#edf2fb;font-weight:600}.on-demand-list span{font-size:14px;color:#a0aec2}
@media(max-width:600px){.on-demand-quests{padding:20px}.on-demand-list li{flex-direction:column;align-items:flex-start}.on-demand-quests h2{font-size:20px}}

/* Interacción táctil y tamaños de pantalla reducidos. */
.agenda>*{min-width:0}.details,.important-item,.on-demand-list li{overflow-wrap:anywhere}
.day,.month-nav button{touch-action:manipulation;transition:background .16s,border-color .16s,transform .16s}
.day:active,.month-nav button:active{transform:scale(.94)}
.month-nav button{min-width:44px;min-height:44px}
.important-item strong{flex:1;min-width:0}.important-item span{flex:1;min-width:0}
@media(hover:none){.day:hover{background:#17263a;border-color:#2d4058}.day.outside:hover{background:#101a28;border-color:#1a283b}.day.selected:hover{background:#23567c;border-color:#c6e6ff}.day.has-events:hover{background:#ffbd59;border-color:#ffe0a6}}
@media(max-width:600px){main{padding:0 16px}.agenda{grid-template-columns:minmax(0,1fr)}.brand{letter-spacing:1.5px;font-size:16px;gap:8px}.brand small{margin-left:0;padding-left:9px;font-size:8px}.topbar{padding:0 16px}.calendar-panel{padding:20px 10px}.details{padding:22px 18px}.weekdays,.calendar{gap:4px}.day{height:56px;min-width:0;padding-left:0;padding-right:0}.legend{flex-wrap:wrap;line-height:1.6}.important-item{flex-direction:column;align-items:flex-start;gap:5px}.important-item strong,.important-item span{max-width:100%;text-align:left;font-size:14px}.important-item span{font-size:12px}.details .event .quest-title{font-size:26px}.intro-meta{gap:10px}.intro-meta span{font-size:11px}.agenda-heading h2{font-size:22px}.guild-art img{max-width:100%}footer{line-height:1.7}}
@media(max-width:360px){main{padding:0 10px}.brand small{display:none}.calendar-panel{padding-left:8px;padding-right:8px}.weekdays,.calendar{gap:3px}.day{font-size:14px;height:52px}.quest-badge{font-size:8px}.weekdays{font-size:9px}.intro h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){.day,.month-nav button{transition:none}.day:active,.month-nav button:active{transform:none}}
