:root{--eut-ink:#072f35;--eut-deep:#06262c;--eut-paper:#f4eedf;--eut-gold:#e6b968;--eut-muted:#add0cc;--eut-line:#ffffff25}
.eut-site,.eut-container,.eut-card,.eut-player-tools{box-sizing:border-box}.eut-site{background:var(--eut-deep);color:#f7f1e4}.eut-container{width:min(1240px,calc(100% - 80px));margin-inline:auto}.eut-section{padding-block:90px}.eut-site p,.eut-container p,.eut-card p{line-height:1.75}.eut-site h1,.eut-site h2,.eut-site h3,.eut-container h1,.eut-container h2,.eut-card h2,.eut-card h3{color:inherit;line-height:1.08;letter-spacing:-.035em}.eut-site h2,.eut-container h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,4vw,56px);font-weight:500;margin:12px 0 24px}.eut-site h3,.eut-card h3{font-size:24px}.eut-container>h1{font-family:Georgia,serif;font-size:clamp(46px,6vw,80px);margin:18px 0 30px}.eut-site a,.eut-container a{color:inherit}.eut-kicker{display:block;font:700 11px/1.5 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.2em;color:var(--eut-gold)}.eut-intro{font-size:18px;max-width:760px;color:var(--eut-muted)}.eut-small{font-size:13px;opacity:.82}.eut-hero{min-height:730px;height:min(880px,88vh);position:relative;isolation:isolate;overflow:hidden}.eut-hero-art{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;object-position:62% center;z-index:-3}.eut-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#052a32ef 0%,#052a32bb 25%,#052a3220 65%),linear-gradient(0deg,#06262c 0%,transparent 24%);z-index:-2}.eut-hero-copy{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:65px 75px}.eut-hero h1{font:500 clamp(78px,8.5vw,132px)/.86 Georgia,serif;letter-spacing:-.065em;margin:28px 0}.eut-hero h1 em{font-weight:500;color:#f0cc82}.eut-hero p{max-width:460px;font-size:16px;color:#e1eddf;margin:0 0 22px}.eut-hero .eut-hero-lead{font-size:23px;line-height:1.4;color:#faf1db}.eut-actions{display:flex;gap:14px;flex-wrap:wrap}.eut-button{display:inline-flex!important;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:13px 25px;border:1px solid var(--eut-gold);border-radius:3px;background:var(--eut-gold);color:#082d33!important;font:700 13px/1.5 system-ui,sans-serif;text-decoration:none!important;letter-spacing:.025em;cursor:pointer;transition:background .2s,transform .2s;box-sizing:border-box}.eut-button:hover{background:#f2cd88;border-color:#f2cd88;transform:translateY(-2px)}.eut-button:disabled{opacity:.5;cursor:wait;transform:none}.eut-button-ghost{background:#052c3330;color:#f5e7ce!important;border-color:#e9dab365}.eut-button-ghost:hover{background:#ffffff12}.eut-button:focus-visible,.eut-site a:focus-visible,.eut-form input:focus-visible,summary:focus-visible{outline:3px solid #69e9dd;outline-offset:5px}.eut-hero-foot{margin-top:35px;text-transform:uppercase;letter-spacing:.17em;font-size:10px;color:#d4ded1}.eut-coordinate{position:absolute;right:40px;bottom:50px;font:10px/1.8 monospace;letter-spacing:.2em;opacity:.65;color:#fff;text-align:right}.eut-strip{display:flex;justify-content:center;align-items:center;gap:44px;padding:22px 24px;border-block:1px solid #e4c78635;color:#e6d9b9;font:600 10px/1.5 system-ui;letter-spacing:.2em;background:#0a3439}.eut-strip i{color:var(--eut-gold)}.eut-section-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:28px}.eut-section-heading h2{margin-bottom:0}.eut-text-link{text-decoration:none;border-bottom:1px solid #e8c78970;padding-block:8px;font-size:13px}.eut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.eut-card{background:#0c383e;border:1px solid var(--eut-line);padding:32px;border-radius:8px;color:#e5eeea}.eut-card img{max-width:100%;height:auto;border-radius:5px}.eut-card a:not(.eut-button){color:#f0cc82}.eut-card h2{font-size:28px}.eut-card .eut-kicker{font-size:10px}.eut-empty{padding:35px;border:1px solid var(--eut-line);border-radius:8px;line-height:1.7}.eut-chart{display:flex;align-items:center;gap:48px;background:repeating-linear-gradient(0deg,transparent,transparent 47px,#fff04 48px),repeating-linear-gradient(90deg,transparent,transparent 47px,#fff04 48px),#0a3439;padding:48px}.eut-chart p{max-width:650px;color:var(--eut-muted)}.eut-compass{font:150px/1 Georgia;color:var(--eut-gold);width:180px;text-align:center}.eut-chart h3{margin-top:0}.eut-paper{background:var(--eut-paper);color:#163c3e}.eut-paper .eut-kicker{color:#7a4d21}.eut-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;list-style:none;padding:0;margin:45px 0 25px;counter-reset:steps}.eut-steps>li{list-style:none;border-top:1px solid #92764c55;padding-top:22px}.eut-steps>li>span{color:#92703c;font:italic 33px/1.2 Georgia}.eut-steps h3,.eut-steps h2{font:600 22px/1.3 system-ui,sans-serif;letter-spacing:-.025em;margin:20px 0 12px}.eut-steps p{font-size:15px}.eut-gems{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-block:32px}.eut-gem{position:relative;padding:22px 10px 20px;min-height:205px;text-align:center;border:1px solid #ffffff1a;border-radius:6px;background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--gem-color) 10%,transparent),transparent 70%),#0a3237;overflow:hidden}.eut-gem-number{position:absolute;left:12px;top:10px;font:10px monospace;color:#c2cabe77}.eut-light{height:93px;width:5px;margin:0 auto 18px;background:linear-gradient(0deg,var(--gem-color),transparent);position:relative;border-radius:50%;box-shadow:0 0 15px 5px color-mix(in srgb,var(--gem-color) 35%,transparent)}.eut-light:after{content:'';position:absolute;bottom:-3px;left:50%;transform:translateX(-50%);width:38px;height:8px;background:var(--gem-color);border-radius:50%;filter:blur(5px)}.eut-gem h3{font:600 13px/1.3 system-ui!important;letter-spacing:0!important;margin:14px 0 7px!important}.eut-gem p{font-size:11px;line-height:1.5;margin:0;color:#b4cec7}.eut-gem a,.eut-gem small{display:block;font-size:10px;margin-top:10px}.eut-gem.is-held{border-color:color-mix(in srgb,var(--gem-color) 60%,transparent)}.eut-gem.is-held .eut-light{box-shadow:0 0 25px 12px color-mix(in srgb,var(--gem-color) 25%,transparent)}.eut-cycle-meta{font-size:13px;color:#bed3cc}.eut-note{padding:30px 36px;border-left:3px solid var(--eut-gold);background:#103c42;margin-block:30px;border-radius:0 7px 7px 0}.eut-note h2,.eut-note h3{font-size:27px}.eut-cycle-history{display:flex;gap:20px;flex-wrap:wrap;padding:25px 0}.eut-lore{background:#0b3539;border-block:1px solid var(--eut-line)}.eut-split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.eut-map-art{position:relative;min-height:350px;border:1px solid #c6a66755;background:repeating-linear-gradient(0deg,transparent,transparent 54px,#e3c8890b 55px),repeating-linear-gradient(90deg,transparent,transparent 54px,#e3c8890b 55px),radial-gradient(ellipse at 30% 45%,#a08b5345,transparent 45%),#123c3f;border-radius:48% 46% 44% 48%;display:grid;place-content:center;text-align:center;transform:rotate(-6deg)}.eut-map-art:before,.eut-map-art:after{content:'';position:absolute;border:1px dashed #cfb47d66;inset:35px;border-radius:50%;transform:rotate(32deg)}.eut-map-art:after{inset:55px 95px;transform:rotate(-27deg)}.eut-map-art>span{font:160px/.9 Georgia;color:#dabc7d}.eut-map-art small{font:10px/1.8 monospace;letter-spacing:.2em;color:#c9bb96;margin-top:22px}.eut-lore p{color:var(--eut-muted)}.eut-faq{border-top:1px solid var(--eut-line);margin-top:30px}.eut-faq details{border-bottom:1px solid var(--eut-line);padding:22px 0}.eut-faq summary{font-weight:500;cursor:pointer;list-style:none;padding-right:30px;position:relative}.eut-faq summary:after{content:'+';position:absolute;right:0;color:var(--eut-gold);font-size:24px;line-height:1}.eut-faq details[open] summary:after{content:'−'}.eut-faq p{max-width:850px;color:var(--eut-muted);font-size:15px}.eut-closing{text-align:center;padding:60px 0 110px}.eut-closing h2{font-size:clamp(35px,5vw,68px);margin:15px 0 30px}.eut-form{display:grid;gap:18px}.eut-form label{display:grid;gap:9px;font-size:14px}.eut-form input,.eut-form select,.eut-form textarea{border:1px solid #ffffff40;border-radius:4px;background:#062a30;color:#fff;padding:13px;font:inherit;box-sizing:border-box;max-width:100%;width:100%}.eut-form .eut-button{justify-self:start}.eut-form [role=status]:empty{display:none}.eut-form [role=status]{margin:0;padding:12px;background:#ffffff0a;border-left:2px solid var(--eut-gold)}.eut-player-tools{display:grid;gap:22px;margin:24px 0}.eut-player-tools .eut-note{margin:0}.eut-table-wrap{overflow:auto} .eut-table-wrap table{width:100%;border-collapse:collapse}.eut-table-wrap th,.eut-table-wrap td{padding:16px;text-align:left;border-bottom:1px solid var(--eut-line)}.eut-badge{display:inline-block;font:600 11px/1.5 system-ui;background:#c6b57418;color:#f1d394;padding:6px 10px;border:1px solid #c6b57444;border-radius:3px}.eut-timeline{border-left:1px solid var(--eut-gold);padding-left:30px}.eut-timeline li{padding:15px;line-height:1.7}.eut-winner-reveal{text-align:center;padding:60px 35px;background:radial-gradient(ellipse,#b9974340,transparent 65%),#0b373b;border:1px solid #c4a06488;animation:eut-reveal .65s ease-out}.eut-winner-reveal img{max-height:450px;max-width:100%;object-fit:contain}.eut-demo [hidden]{display:none!important}.eut-demo .eut-form{max-width:500px}.eut-admin-table{width:100%}@keyframes eut-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1024px){.eut-container{width:calc(100% - 48px)}.eut-hero{min-height:680px}.eut-hero h1{font-size:90px}.eut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eut-gems{grid-template-columns:repeat(4,minmax(0,1fr))}.eut-split{gap:35px}.eut-coordinate{display:none}.eut-strip{gap:20px;font-size:9px}}
@media(max-width:680px){.eut-container{width:calc(100% - 36px)}.eut-section{padding-block:55px}.eut-hero{height:auto;min-height:720px}.eut-hero-art{object-position:67% center;opacity:.7}.eut-hero-shade{background:linear-gradient(90deg,#052a32e0,#052a3220),linear-gradient(0deg,#06262c 2%,#06262c22 60%)}.eut-hero-copy{padding:90px 0 65px}.eut-hero h1{font-size:88px}.eut-hero .eut-kicker{max-width:240px;font-size:9px}.eut-hero p{max-width:330px;font-size:15px}.eut-hero .eut-hero-lead{font-size:22px}.eut-hero-foot{font-size:8px;letter-spacing:.12em}.eut-button{padding:13px 18px;font-size:12px}.eut-actions{gap:10px}.eut-strip{justify-content:space-around;padding:18px 14px;gap:12px;font-size:8px;letter-spacing:.1em}.eut-strip span:last-child,.eut-strip i:last-of-type{display:none}.eut-section-heading{align-items:flex-start;flex-direction:column}.eut-grid,.eut-split,.eut-steps{grid-template-columns:1fr}.eut-card{padding:24px}.eut-gems{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.eut-gem{min-height:181px;padding:20px 5px 15px}.eut-gem h3{font-size:11px!important}.eut-gem p{font-size:10px}.eut-light{height:75px}.eut-chart{padding:26px;gap:18px}.eut-compass{display:none}.eut-steps{gap:24px}.eut-map-art{min-height:290px;margin:15px}.eut-note{padding:24px}.eut-closing{padding-bottom:65px}.eut-intro{font-size:16px}.eut-container>h1{font-size:46px}.eut-faq summary{font-size:15px}.eut-table-wrap th,.eut-table-wrap td{padding:12px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.eut-site *,.eut-winner-reveal{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.eut-effects-off *{animation:none!important;transition:none!important}.eut-winner-art{max-width:600px;margin:auto}.eut-winner-art details{margin:20px 0}.eut-note dl{display:grid;grid-template-columns:170px 1fr;gap:12px 25px}.eut-note dt{color:#eac583;font-weight:600}.eut-note dd{margin:0;font-size:14px;line-height:1.7}@media(max-width:680px){.eut-note dl{grid-template-columns:1fr;gap:8px}.eut-note dd{margin-bottom:14px}}

@media(max-width:680px){.eut-hero .eut-hero-copy>h1{font-size:clamp(70px,20vw,88px)}.eut-hero{min-height:660px}.eut-hero-copy{padding-top:45px;padding-bottom:55px}}

/* Winner reveal works with native details, keyboard and touch, including without JavaScript. */
.eut-winner-art figure{margin:16px 0 24px}.eut-winner-art figcaption{font:500 12px/1.5 system-ui;margin-top:12px}
.eut-winner-transform summary{display:inline-block;cursor:pointer;list-style:none;padding:13px 23px;border:2px solid #ad7328;border-radius:9px;background:#ffce4a;color:#143a65;font:700 13px/1.5 system-ui;box-shadow:0 4px 0 #996129;margin:8px 0 15px}
.eut-winner-transform summary::-webkit-details-marker{display:none}
.eut-winner-transform .eut-photo-label,.eut-winner-transform[open] .eut-reveal-label{display:none}
.eut-winner-transform[open] .eut-photo-label{display:inline}
.eut-winner-transform[open]+.eut-winner-photo{display:none}
.eut-winner-transform[open] .eut-winner-portrait{animation:eut-pirate-reveal .65s ease-out}
@keyframes eut-pirate-reveal{from{opacity:0;transform:translateY(14px) scale(.96);filter:brightness(1.25)}to{opacity:1;transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){.eut-winner-art *{animation:none!important;transition:none!important}}

/* Homepage adventures only: the surrounding layout and game screens stay untouched. */
.eut-home-routes.eut-section{width:100%;max-width:none;min-width:0;margin:0;padding-block:clamp(50px,5vw,82px);background:#fff3d6 url('../images/routes/map.webp') center top/100% auto repeat-y;color:#153b66;scroll-margin-top:24px}
.eut-home-routes,.eut-home-routes *{box-sizing:border-box}
.eut-home-routes>.eut-container{min-width:0}
.eut-home-routes .eut-section-heading{margin:0 0 16px;align-items:center}
.eut-home-routes .eut-section-heading>div{min-width:0}
.eut-home-routes .eut-section-heading h2{font:700 clamp(34px,4vw,56px)/1.1 Georgia,'Times New Roman',serif;color:#123b60;letter-spacing:-.035em;margin:12px 0 0;overflow-wrap:anywhere}
.eut-home-routes .eut-kicker{color:#a53527;font:700 11px/1.5 system-ui,sans-serif;letter-spacing:.14em}
.eut-home-routes .eut-text-link{color:#08619a;flex-shrink:0;font-weight:700;border-color:#43768b;text-decoration:none}
.eut-home-routes .eut-route-intro{font-size:clamp(16px,1.45vw,20px);color:#194f77;margin:0 0 25px;line-height:1.6;max-width:100%}
.eut-home-routes .eut-route-filters{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 20px}
.eut-home-routes .eut-route-filters a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 23px;border:1px solid #a89c80;border-radius:10px;background:#fff6e1;color:#143d62;font:600 14px/1.5 system-ui,sans-serif;text-decoration:none}
.eut-home-routes .eut-route-filters a[aria-current]{background:#0e395b;color:#fff;border-color:#0e395b}
.eut-home-routes .eut-route-filters a:hover{background:#e8f6fa;color:#143d62}
.eut-home-routes .eut-route-filters a[aria-current]:hover{background:#15537a;color:#fff}
.eut-home-routes .eut-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.eut-home-routes .eut-route-card{min-width:0;display:flex;flex-direction:column;margin:0;padding:0;background:#fff7e5;border:1px solid #c58c2b;border-radius:12px;box-shadow:0 2px 0 #b77c2920;overflow:hidden;color:#153b66}
.eut-home-routes .eut-route-art{position:relative;aspect-ratio:5/3;flex:none;overflow:hidden;background:#c7eafb}
.eut-home-routes .eut-route-art .eut-route-image{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;margin:0;border:0;border-radius:0}
.eut-home-routes .eut-route-state{position:absolute;left:12px;top:12px;max-width:calc(100% - 24px);padding:5px 16px;background:#096581;color:#fff;border:1px solid #d4f6ff;border-radius:22px;font:800 11px/1.5 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.035em;overflow-wrap:anywhere}
.eut-home-routes .is-upcoming .eut-route-state{background:#ffcf4c;color:#173a5b;border-color:#ba7a18}
.eut-home-routes .eut-route-body{padding:16px 18px 22px;display:flex;flex-direction:column;flex:1;min-width:0}
.eut-home-routes .eut-route-body h3{font:700 clamp(22px,1.75vw,28px)/1.15 Georgia,'Times New Roman',serif;letter-spacing:-.025em;margin:0 0 10px;color:#123b60;overflow-wrap:anywhere}
.eut-home-routes .eut-route-body h3 a{color:inherit;text-decoration:none}
.eut-home-routes .eut-route-body h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.eut-home-routes .eut-route-description{font:16px/1.5 'Trebuchet MS',system-ui,sans-serif;color:#194f77;margin:0 0 20px;overflow-wrap:anywhere}
.eut-home-routes .eut-route-meta{display:grid;gap:8px;margin:auto 0 18px;padding:0;font:15px/1.5 'Trebuchet MS',system-ui,sans-serif;color:#194f77}
.eut-home-routes .eut-route-meta>div{display:flex;gap:6px;align-items:flex-start;min-width:0}
.eut-home-routes .eut-route-meta dt{display:flex;align-items:center;gap:9px;flex-shrink:0;margin:0;font-weight:400}
.eut-home-routes .eut-route-meta svg{flex-shrink:0;color:#183f5e}
.eut-home-routes .eut-route-meta dd{margin:0;min-width:0;overflow-wrap:anywhere}
.eut-home-routes .eut-route-button{display:flex;align-items:center;justify-content:center;gap:14px;min-height:46px;padding:11px 17px;background:#ffd052;border:1px solid #ad741e;border-radius:9px;box-shadow:0 4px 0 #a66a23;color:#153b66;font:800 14px/1.5 system-ui,sans-serif;text-decoration:none;text-align:center;white-space:normal;overflow-wrap:anywhere;transition:background .15s}
.eut-home-routes .eut-route-button:hover{background:#ffdf85;color:#123b60}
.eut-home-routes .is-upcoming .eut-route-button,.eut-home-routes .eut-route-button.is-outline{background:#fff8e9;box-shadow:none;border:2px solid #b7771d;padding:10px 16px}
.eut-home-routes .is-upcoming .eut-route-button:hover,.eut-home-routes .eut-route-button.is-outline:hover{background:#ffefd0}
.eut-home-routes .eut-route-practice{display:flex;align-items:center;gap:20px;margin:26px 0 0;padding:17px 24px;border:1px solid #d4a14e;border-radius:12px;background:#fff8e5ed;min-width:0}
.eut-home-routes .eut-route-practice-icon{color:#b26621;flex-shrink:0;display:flex}
.eut-home-routes .eut-route-practice-icon svg{width:52px;height:52px}
.eut-home-routes .eut-route-practice h3{font:700 24px/1.2 Georgia,serif;letter-spacing:-.025em;color:#123b60;margin:0;overflow-wrap:anywhere}
.eut-home-routes .eut-route-practice p{margin:0;border-left:1px solid #547086;padding-left:20px;color:#194f77;font-size:15px;line-height:1.5}
.eut-home-routes .eut-route-practice .eut-route-button{margin-left:auto;flex-shrink:0}
.eut-home-routes .eut-route-empty{display:flex;gap:24px;align-items:center;background:#fff8e5ed;border:1px dashed #bf8f38;border-radius:12px;padding:38px;margin:0;color:#194f77}
.eut-home-routes .eut-route-empty>span svg{width:72px;height:72px;color:#b26621}
.eut-home-routes .eut-route-empty h3{font:700 26px/1.25 Georgia,serif;color:#153b66;margin:0 0 10px}
.eut-home-routes .eut-route-empty p{margin:0;max-width:720px}
.eut-home-routes a:focus-visible{outline:3px solid #116d9a;outline-offset:4px}
@media(max-width:1000px){.eut-home-routes .eut-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eut-home-routes .eut-route-practice{flex-wrap:wrap;gap:14px}.eut-home-routes .eut-route-practice h3{font-size:22px}.eut-home-routes .eut-route-practice p{border:0;padding:0}.eut-home-routes .eut-route-practice-icon svg{width:40px;height:40px}}
@media(max-width:680px){.eut-home-routes.eut-section{background-size:auto 1000px;padding-block:42px}.eut-home-routes .eut-section-heading{align-items:flex-start;flex-direction:column;gap:10px}.eut-home-routes .eut-route-filters{gap:8px}.eut-home-routes .eut-route-filters a{padding:8px 12px;font-size:13px;flex:1}.eut-home-routes .eut-route-grid{grid-template-columns:minmax(0,1fr);gap:22px}.eut-home-routes .eut-route-body h3{font-size:26px}.eut-home-routes .eut-route-practice{padding:20px;gap:14px}.eut-home-routes .eut-route-practice h3{flex:1}.eut-home-routes .eut-route-practice p{width:100%}.eut-home-routes .eut-route-practice .eut-route-button{width:100%;margin:0}.eut-home-routes .eut-route-empty{padding:24px;gap:16px;align-items:flex-start}.eut-home-routes .eut-route-empty>span svg{width:36px;height:36px}.eut-home-routes .eut-route-empty h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.eut-home-routes .eut-route-button{transition:none}}

/* Hidden cards must not inherit the grid/flex display rules above. */
.eut-home-routes [hidden]{display:none!important}
.eut-home-routes .eut-route-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
