:root {
	--utx-ink: #143c36;
	--utx-leaf: #147651;
	--utx-moss: #dceadf;
	--utx-sun: #eeb748;
	--utx-paper: #f7f3e9;
	--utx-line: rgba(20, 60, 54, .14);
}

.uptrail-module-card {
	position: relative;
	overflow: hidden;
	margin: 0;
	border: 1px solid var(--utx-line);
	border-radius: 24px;
	padding: clamp(20px, 4vw, 34px);
	background:
		radial-gradient(circle at 100% 0, rgba(238, 183, 72, .18), transparent 28%),
		linear-gradient(145deg, #fff, var(--utx-paper));
	color: var(--utx-ink);
}

.uptrail-module-card > header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 22px;
}

.uptrail-module-card header span {
	color: var(--utx-leaf);
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .15em;
}

.uptrail-module-card h3,
.uptrail-module-card h4 {
	margin: 5px 0 7px;
	color: var(--utx-ink);
}

.uptrail-module-card header p {
	max-width: 620px;
	margin: 0;
	color: #62746d;
	font-size: 13px;
	line-height: 1.6;
}

.uptrail-module-card > header > strong {
	display: grid;
	min-width: 86px;
	place-items: center;
	border-radius: 18px;
	padding: 14px;
	background: var(--utx-ink);
	color: #fff;
	font-size: 25px;
}

.uptrail-module-card > header > strong small {
	font-size: 10px;
	opacity: .72;
}

.uptrail-fitness form,
.uptrail-fitness fieldset {
	display: grid;
	gap: 10px;
}

.uptrail-fitness form {
	gap: 18px;
}

.uptrail-fitness fieldset {
	margin: 0;
	border: 0;
	padding: 0;
}

.uptrail-fitness legend {
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 850;
}

.uptrail-fitness fieldset > div {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 7px;
}

.uptrail-fitness fieldset:last-of-type > div {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.uptrail-fitness fieldset label {
	position: relative;
}

.uptrail-fitness fieldset input {
	position: absolute;
	opacity: 0;
}

.uptrail-fitness fieldset label span {
	display: grid;
	min-height: 48px;
	place-items: center;
	border: 1px solid var(--utx-line);
	border-radius: 13px;
	padding: 9px;
	background: rgba(255, 255, 255, .76);
	color: #52665e;
	font-size: 11px;
	font-weight: 750;
	text-align: center;
	cursor: pointer;
}

.uptrail-fitness fieldset input:checked + span {
	border-color: var(--utx-leaf);
	background: var(--utx-leaf);
	color: #fff;
}

.uptrail-fitness fieldset input:focus-visible + span {
	outline: 3px solid rgba(238, 183, 72, .45);
	outline-offset: 2px;
}

.uptrail-fitness form > button {
	justify-self: start;
	border: 0;
	border-radius: 14px;
	padding: 13px 18px;
	background: var(--utx-ink);
	color: #fff;
	font-weight: 850;
	cursor: pointer;
}

.uptrail-fit-results {
	margin-top: 25px;
	border-top: 1px solid var(--utx-line);
	padding-top: 20px;
}

.uptrail-fit-results a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	border-bottom: 1px solid var(--utx-line);
	padding: 12px 0;
	color: inherit;
	text-decoration: none;
}

.uptrail-fit-results strong {
	border-radius: 99px;
	padding: 5px 9px;
	background: #e9eee9;
	font-size: 10px;
}

.uptrail-fit-results strong.is-suitable { background: #d9f1e3; color: #087548; }
.uptrail-fit-results strong.is-caution { background: #fff0c7; color: #825b00; }
.uptrail-fit-results strong.is-needs_support,
.uptrail-fit-results strong.is-manual_review { background: #fce5df; color: #a13c27; }

.uptrail-module-notice {
	border-radius: 12px;
	padding: 10px 13px;
	background: #dff2e5;
	color: #14683f;
	font-weight: 750;
}

.uptrail-fit-booking {
	display: grid;
	gap: 4px;
	margin: 12px 0 22px;
	border: 1px solid rgba(16, 97, 70, .16);
	border-radius: 14px;
	padding: 13px 14px;
	background: linear-gradient(135deg, #edf7f0, #fff8e7);
	color: #244a41;
}

.uptrail-fit-booking strong { font-size: 13px; }
.uptrail-fit-booking small { color: #60766e; line-height: 1.5; }
.uptrail-fit-booking a { margin-top: 4px; color: #0d7650; font-size: 12px; font-weight: 850; }

@media (max-width: 760px) {
	.uptrail-fitness fieldset > div,
	.uptrail-fitness fieldset:last-of-type > div { grid-template-columns: 1fr 1fr; }
	.uptrail-module-card > header { display: grid; }
	.uptrail-module-card > header > strong { justify-self: start; min-width: 74px; }
}

@media (max-width: 420px) {
	.uptrail-fitness fieldset > div,
	.uptrail-fitness fieldset:last-of-type > div { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.uptrail-module-card *, .uptrail-fit-booking * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

.uptrail-guide-selector{margin:14px 0;padding:14px;border:1px solid rgba(15,75,71,.14);border-radius:18px;background:#f4faf7}.uptrail-guide-selector>div:first-child{display:grid;gap:3px;margin-bottom:10px}.uptrail-guide-selector span{font-size:10px;letter-spacing:.14em;font-weight:900;color:#0c796d}.uptrail-guide-selector small{color:#61726e;line-height:1.4}.uptrail-guide-selector select{width:100%;min-height:44px;border:1px solid #cedbd6;border-radius:12px;background:#fff;padding:0 12px}.uptrail-guide-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.uptrail-guide-cards article{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:13px;background:#fff}.uptrail-guide-cards img,.uptrail-guide-cards article>b{width:44px;height:44px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#0c796d;color:#fff}.uptrail-guide-cards article div{min-width:0;display:grid;gap:2px}.uptrail-guide-cards p{margin:3px 0;font-size:12px;line-height:1.4}.uptrail-guide-cards a{font-size:12px;font-weight:800;color:#0c796d}@media(max-width:640px){.uptrail-guide-cards{grid-template-columns:1fr}.uptrail-guide-selector{padding:12px}}
.uptrail-gift-form>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.uptrail-gift-form label{display:grid;gap:5px;font-size:12px;font-weight:800}.uptrail-gift-form input,.uptrail-gift-form select,.uptrail-gift-form textarea{min-height:44px;border:1px solid #d6e0dc;border-radius:12px;padding:9px 11px;background:#fff}.uptrail-gift-form button{margin-top:12px;border:0;border-radius:999px;padding:12px 18px;background:#0b7369;color:#fff;font-weight:900}.uptrail-gift-orders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.uptrail-gift-orders article{display:grid;gap:4px;padding:12px;border-radius:14px;background:#eff7f3}.uptrail-gift-orders img{width:120px;margin-top:6px;border-radius:10px}@media(max-width:720px){.uptrail-gift-form>div,.uptrail-gift-orders{grid-template-columns:1fr}}
.uptrail-passport{position:relative;overflow:hidden;padding:24px;border-radius:28px;background:radial-gradient(circle at 85% 12%,rgba(238,186,65,.24),transparent 24%),linear-gradient(145deg,#062e37,#0b584f);color:#fff;box-shadow:0 25px 70px rgba(5,43,48,.22)}.uptrail-passport:after{content:"";position:absolute;inset:auto -8% -45% 25%;height:65%;background:linear-gradient(145deg,transparent 45%,rgba(255,255,255,.06) 46% 52%,transparent 53%);transform:rotate(-8deg);pointer-events:none}.uptrail-passport>header{position:relative;z-index:1;display:flex;justify-content:space-between;gap:20px}.uptrail-passport>header span{font-size:10px;letter-spacing:.16em;color:#f0be48;font-weight:900}.uptrail-passport>header h3{margin:7px 0 5px;font-size:clamp(25px,4vw,38px)}.uptrail-passport>header p{margin:0;max-width:580px;color:#c9e2dc}.uptrail-passport>header>b{display:grid;place-items:center;align-self:flex-start;width:84px;height:84px;border:1px solid rgba(255,255,255,.22);border-radius:50%;font-size:26px;background:rgba(255,255,255,.08)}.uptrail-passport>header>b small{font-size:9px;margin-top:-23px}.uptrail-passport-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:22px 0}.uptrail-passport-stats div{display:grid;gap:2px;padding:14px;border-radius:16px;background:rgba(255,255,255,.08)}.uptrail-passport-stats strong{font-size:20px}.uptrail-passport-stats small{color:#bed8d1}.uptrail-passport-stamps{position:relative;z-index:1;display:flex;gap:9px;overflow:auto;padding-bottom:5px}.uptrail-passport-stamps article{flex:0 0 190px;display:flex;gap:9px;align-items:center;padding:10px;border-radius:15px;background:#f4eee0;color:#173b3b}.uptrail-passport-stamps article>b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e3ad32;color:#fff}.uptrail-passport-stamps article div{display:grid;min-width:0}.uptrail-passport-stamps article small{font-size:10px}.uptrail-passport-actions{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-top:18px}.uptrail-passport-actions button{border:0;border-radius:999px;padding:12px 17px;background:#efbd47;color:#143733;font-weight:900}.uptrail-passport-actions small{color:#c9e2dc}@media(max-width:640px){.uptrail-passport{padding:18px;border-radius:22px}.uptrail-passport-stats{grid-template-columns:repeat(2,1fr)}.uptrail-passport>header>b{width:68px;height:68px}.uptrail-passport-actions{align-items:flex-start;flex-direction:column}}
.uptrail-gacha .booking-addon-panel__body{position:relative;overflow:hidden}.uptrail-gacha [data-gacha-open]{border:0;border-radius:999px;padding:11px 16px;background:linear-gradient(135deg,#e6a92d,#f3cf71);color:#193a36;font-weight:900;box-shadow:0 10px 24px rgba(202,144,31,.2)}.uptrail-gacha.is-opening .booking-addon-panel__body:after{content:"";position:absolute;inset:-80%;background:conic-gradient(transparent,#f3c75f,transparent 30%);animation:uptrail-gacha-spin .7s linear}.uptrail-gacha [data-gacha-result]{position:relative;z-index:1;margin:9px 0 0}@keyframes uptrail-gacha-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.uptrail-gacha.is-opening .booking-addon-panel__body:after{display:none}}
.uptrail-swap form{display:grid;gap:12px}.uptrail-swap .uptrail-platform-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.uptrail-swap label{display:grid;gap:5px;font-size:12px;font-weight:800;color:#294843}.uptrail-swap input,.uptrail-swap select{width:100%;min-height:44px;border:1px solid #d6e0dc;border-radius:12px;padding:8px 11px;background:#fff}.uptrail-swap button{justify-self:start;border:0;border-radius:999px;padding:11px 17px;background:#0b7369;color:#fff;font-weight:900}.uptrail-swap-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.uptrail-swap-list article{display:grid;gap:4px;padding:12px;border-radius:14px;background:#eff7f3}.uptrail-swap-list small{color:#58706c}@media(max-width:720px){.uptrail-swap .uptrail-platform-fields,.uptrail-swap-list{grid-template-columns:1fr}}
.uptrail-season-pass-account form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.uptrail-season-pass-account label,.uptrail-season-pass label{display:grid;gap:5px;font-size:12px;font-weight:850;color:#294843}.uptrail-season-pass-account select,.uptrail-season-pass select{min-height:44px;border:1px solid #d6e0dc;border-radius:12px;padding:8px 11px;background:#fff}.uptrail-season-pass-account button{border:0;border-radius:999px;padding:11px 17px;background:#cf8b1f;color:#fff;font-weight:900}.uptrail-pass-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.uptrail-pass-list article{display:grid;gap:5px;padding:14px;border-radius:16px;background:linear-gradient(145deg,#183f38,#0b7369);color:#fff}.uptrail-pass-list small{color:#d8eee7}.uptrail-pass-list img{width:120px;border-radius:10px;background:#fff}@media(max-width:720px){.uptrail-pass-list{grid-template-columns:1fr}.uptrail-season-pass-account form{display:grid}}
.uptrail-mystery-hub{position:relative;overflow:hidden;padding:clamp(28px,5vw,72px);border-radius:28px;background:radial-gradient(circle at 80% 15%,rgba(237,186,76,.24),transparent 35%),linear-gradient(145deg,#071d1b,#163e37 62%,#0b2523);color:#fff}.uptrail-mystery-hub:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.06),transparent 65%);pointer-events:none}.uptrail-mystery-hub>header,.uptrail-mystery-grid{position:relative}.uptrail-mystery-hub>header span{font-size:11px;letter-spacing:.2em;color:#efc66b;font-weight:900}.uptrail-mystery-hub h1{max-width:700px;margin:8px 0;font-size:clamp(32px,5vw,64px);line-height:.98}.uptrail-mystery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}.uptrail-mystery-grid article{display:grid;align-content:start;gap:9px;padding:20px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.08);backdrop-filter:blur(14px)}.uptrail-mystery-grid small{color:#efc66b;font-weight:850}.uptrail-mystery-grid button,.uptrail-mystery-grid a{justify-self:start;border:0;border-radius:999px;padding:11px 16px;background:#efb83f;color:#17322f;font-weight:900;text-decoration:none}.uptrail-mystery-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.uptrail-mystery-list article{display:grid;gap:4px;padding:14px;border-radius:16px;background:#eef6f3}@media(max-width:760px){.uptrail-mystery-grid{grid-template-columns:1fr}.uptrail-mystery-list{grid-template-columns:1fr}.uptrail-mystery-hub{border-radius:20px}}
.uptrail-forest{padding:clamp(24px,5vw,64px);border-radius:28px;background:linear-gradient(160deg,#eef5e8,#d9ead7);color:#173b34}.uptrail-forest>header span{font-size:11px;letter-spacing:.18em;font-weight:950;color:#8a6217}.uptrail-forest h2{margin:8px 0;font-size:clamp(30px,5vw,58px);line-height:1}.uptrail-forest-map{position:relative;min-height:420px;margin-top:24px;overflow:hidden;border-radius:24px;background:radial-gradient(circle at 28% 35%,#b8d5a8 0 3%,transparent 4%),radial-gradient(circle at 70% 63%,#aacd9d 0 5%,transparent 6%),linear-gradient(145deg,#dcebd2,#a8cba5);box-shadow:inset 0 0 0 1px rgba(35,76,54,.1)}.uptrail-forest-map:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(25deg,transparent 0 38px,rgba(255,255,255,.12) 40px 41px)}.forest-cluster,.forest-pin{position:absolute;z-index:1;transform:translate(-50%,-50%);display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:#0d7358;color:#fff;box-shadow:0 8px 20px rgba(23,67,52,.28);cursor:pointer}.forest-cluster{width:44px;height:44px;font-weight:900}.forest-pin{width:24px;height:24px}.forest-pin:after{content:"";width:7px;height:7px;border-radius:50%;background:#f3bd43}.uptrail-forest-list,.uptrail-tree-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.uptrail-forest-list article,.uptrail-tree-list article{display:grid;gap:4px;padding:12px;border-radius:14px;background:rgba(255,255,255,.72)}.uptrail-forest-list article.is-active{outline:2px solid #0d7358}.uptrail-tree-list a{color:#0b7369;font-weight:850}@media(max-width:760px){.uptrail-forest{border-radius:20px}.uptrail-forest-map{min-height:320px}.uptrail-forest-list,.uptrail-tree-list{grid-template-columns:1fr}}
