@font-face {
	font-family: 'AG';
	src: url('assets/fonts/AG-R.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	font-stretch: normal;
	size-adjust: 100%;
}
@font-face {
	font-family: 'AG';
	src: url('assets/fonts/AG-M.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
	font-stretch: normal;
	size-adjust: 100%;
}
@font-face {
	font-family: 'AG';
	src: url('assets/fonts/AG-B.woff2') format('woff2');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
	font-stretch: normal;
	size-adjust: 100%;
}
:root {
	--t: black;
	--secondary: #333333;
	--panel: #f7f7f7;
	--a: #a7c23a;
	--tint: #cdddbc;
	--white: white;
	--legend-1: #c74a41;
	--legend-2: #e17e27;
	--legend-3: #e9b00f;
	--legend-4: #a9c630;
	--legend-5: #39a5a6;
	--cmp: #3b6fea;
	--sh-hover:
		0 1px 1px rgba(0, 0, 0, 0.05),
		0 calc(var(--px5-r) * 0.5) var(--px5-r) rgba(0, 0, 0, 0.075);
	--sh-press:
		0 1px 1px rgba(0, 0, 0, 0.035),
		0 calc(var(--px5-r) * 0.35) calc(var(--px5-r) * 0.85) rgba(0, 0, 0, 0.05);
	--px5-r: clamp(5px, 0.5vw, calc(5px + 0.25svh));
	--px15-r: clamp(10px, 1vw, calc(15px + 0.35svh));
	--px30-r: clamp(20px, 1.25vw, calc(30px + 0.5svh));
	--tr-s: 0.35s;
	--tr-m: 0.4s;
	--tr-l: 0.5s;
	--cubic: cubic-bezier(0.35, 0, 0.25, 1);
	--fs-s: clamp(0.95rem, 0.5vw + 0.25svh, calc(0.95rem + 0.75svh));
	--fs-m: clamp(1.5rem, 1vw + 0.5svh, calc(2rem + 0.75svh));
	--fs-l: clamp(3rem, 1.5vw + 1svh, calc(3.5rem + 0.75svh));
}
* {
	margin: 0;
	padding: 0;
	color: var(--t);
	font-weight: 400;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
	scrollbar-width: thin;
	scrollbar-color: var(--secondary) transparent;
}
[hidden] {
	display: none;
}
body {
	background: var(--white);
	overflow-x: hidden;
	-webkit-touch-callout: none;
	font:
		var(--fs-s)/1 'AG',
		Helvetica,
		sans-serif;
	letter-spacing: -5%;
	-webkit-font-smoothing: antialiased;
	min-height: 100svh;
	scrollbar-gutter: stable;
}
p,
a,
h1,
h2,
h3,
h4,
div,
label,
input,
button {
	font:
		var(--fs-s)/1 'AG',
		Helvetica,
		sans-serif;
	overflow-wrap: break-word;
	text-decoration: none;
}
*::-webkit-scrollbar {
	width: var(--px15-r);
	height: var(--px15-r);
}
*::-webkit-scrollbar-thumb {
	background-color: var(--secondary);
	background-clip: padding-box;
	border-radius: var(--px15-r);
}
*::-webkit-scrollbar-thumb:hover {
	background-color: var(--t);
	background-clip: padding-box;
}
*::-webkit-scrollbar-track {
	background: transparent;
}
*::-webkit-scrollbar-button,
*::-moz-scrollbar-button {
	display: none;
	width: 0;
	height: 0;
}
sup {
	font-size: 0.475em;
	vertical-align: super;
}
.nav {
	grid-column: 1/-1;
	display: flex;
	align-items: center;
	gap: var(--px15-r);
}
.nav-back {
	display: inline-flex;
	align-items: center;
	font-weight: 800;
	background: var(--white);
	border: none;
	cursor: pointer;
	padding: var(--px5-r);
	border-radius: var(--px5-r);
}
.nav-back span {
	font-weight: 800;
}
.nav-spacer {
	flex: 1;
}
.nav-badge {
	display: inline-flex;
	align-items: center;
	background: var(--tint);
	padding: var(--px5-r);
	border-radius: var(--px5-r);
	font-weight: 600;
	animation: revealUp var(--tr-l) var(--cubic) 0.25s backwards;
}
.hub {
	min-height: 100svh;
	display: flex;
	align-items: stretch;
	padding: var(--px15-r);
}
.hub-panel {
	width: 100%;
	background: var(--panel);
	border-radius: var(--px30-r);
	padding: var(--px30-r);
	display: flex;
	flex-direction: column;
	gap: var(--px30-r);
	animation: revealUp var(--tr-l) var(--cubic) backwards;
}
.cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: var(--px30-r);
	row-gap: var(--px30-r);
	flex: 1;
}
.card {
	position: relative;
	overflow: hidden;
	border-radius: var(--px15-r);
	background: var(--card);
	min-height: 55svh;
	padding: var(--px15-r);
	display: flex;
	flex-direction: column;
	transition: filter var(--tr-m) var(--cubic);
}
.card.locked {
	filter: grayscale(100%);
	will-change: filter;
}
.card .deco {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 65%;
	transform: translate(-50%, -50%);
	z-index: 0;
	pointer-events: none;
	transition: transform var(--tr-m) var(--cubic);
	will-change: transform;
}
.card .deco svg {
	width: 100%;
	height: auto;
	display: block;
	animation: revealUp var(--tr-l) var(--cubic) 0.35s backwards;
}
.card-body {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: var(--px5-r);
}
.card-title {
	font-weight: 800;
	font-size: var(--fs-l);
}
.card-sub {
	font-size: var(--fs-s);
	color: var(--secondary);
}
.enter {
	z-index: 1;
	margin-top: auto;
	display: flex;
	align-items: center;
	gap: var(--px5-r);
	background: var(--white);
	border: none;
	border-radius: var(--px5-r);
	padding: var(--px5-r);
}
.card:not(.locked) .enter,
.card:not(.locked) .enter-input {
	cursor: pointer;
}
.enter-input {
	flex: 1;
	border-color: transparent;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background: none;
}
.enter-input::placeholder {
	color: var(--secondary);
	opacity: 1;
}
.enter-input:focus {
	outline: none;
}
.enter-go {
	border: none;
	background: none;
	cursor: pointer;
	padding: var(--px5-r);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--px5-r);
	flex: none;
}
.enter-go svg {
	width: var(--px15-r);
	height: var(--px15-r);
}
.btn-arrow {
	width: var(--px15-r);
	height: var(--px15-r);
	flex: none;
}
.hub-footer {
	color: var(--secondary);
	animation: revealUp var(--tr-l) var(--cubic) 0.75s backwards;
}
.hub-footer strong {
	font-weight: 600;
}
.hub-logos {
	display: flex;
	align-items: center;
	gap: var(--px15-r);
	animation: revealUp var(--tr-l) var(--cubic) 0.9s backwards;
}
.hub-logos img {
	height: var(--px30-r);
	width: auto;
	display: block;
}
.hub-logos .logo-cb {
	height: var(--px30-r);
}
.tool {
	padding: var(--px15-r);
}
.tool-panel {
	background: var(--panel);
	border-radius: var(--px30-r);
	padding: var(--px30-r);
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: var(--px30-r);
	row-gap: var(--px30-r);
	align-items: start;
}
.chart-card {
	position: relative;
	background: var(--white);
	border-radius: var(--px15-r);
	padding: calc(var(--px15-r) + var(--fs-s) + var(--px5-r) * 2) var(--px15-r)
		var(--px15-r);
	display: flex;
	flex-direction: column;
	gap: var(--px5-r);
}
.content-card {
	position: relative;
	background: var(--white);
	border-radius: var(--px15-r);
	padding: var(--px15-r);
	display: flex;
	flex-direction: column;
	gap: var(--px30-r);
}
.star-host {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.star-host svg {
	display: block;
	max-width: 100%;
	height: auto;
}
.rs-svg .rs-num {
	font-size: calc(var(--fs-s) * 0.5);
	fill: var(--t);
	transform-box: fill-box;
	transform-origin: center;
	animation: revealUp var(--tr-l) var(--cubic) var(--d) backwards;
}
.rs-svg .rs-chip-t {
	font-weight: 600;
	fill: var(--t);
	transform-box: fill-box;
	transform-origin: center;
	animation: revealUp var(--tr-l) var(--cubic) var(--dc, 0s) backwards;
}
.rs-svg .rs-dot {
	fill: var(--white);
	stroke: var(--a);
	stroke-width: 1.5px;
	r: var(--px5-r);
	transform-box: fill-box;
	transform-origin: center;
	animation: revealUp var(--tr-l) var(--cubic) var(--d) backwards;
}
body[data-star='mymind'] .rs-svg .rs-dot {
	stroke: none;
}
body[data-star='mymind'] .rs-svg .rs-dot[data-step='1'] {
	fill: var(--legend-1);
}
body[data-star='mymind'] .rs-svg .rs-dot[data-step='2'] {
	fill: var(--legend-2);
}
body[data-star='mymind'] .rs-svg .rs-dot[data-step='3'] {
	fill: var(--legend-3);
}
body[data-star='mymind'] .rs-svg .rs-dot[data-step='4'] {
	fill: var(--legend-4);
}
body[data-star='mymind'] .rs-svg .rs-dot[data-step='5'] {
	fill: var(--legend-5);
}
body[data-star='mymind'] .rs-svg .rs-num {
	fill: var(--white);
}
.rs-svg .rs-body {
	stroke-width: 1.5px;
	transform-box: fill-box;
	transform-origin: center;
	animation: revealUp var(--tr-l) var(--cubic) backwards;
}
.rs-svg rect {
	stroke: var(--a);
	stroke-width: 1.5px;
	transform-box: fill-box;
	transform-origin: center;
	animation: revealUp var(--tr-l) var(--cubic) var(--dc, 0s) backwards;
}
.rs-svg .rs-hole {
	stroke: var(--a);
	stroke-width: 1.5px;
}
#legendWrap {
	display: none;
}
#legendWrap.open {
	display: block;
}
#legendWrap > div {
	padding-top: var(--px5-r);
}
.legend,
.meta-f,
.note-sub,
.plan-field {
	display: flex;
	flex-direction: column;
	gap: var(--px5-r);
}
.leg-row {
	display: flex;
	align-items: baseline;
	gap: var(--px5-r);
	background: var(--c);
	color: var(--white);
	font-weight: 600;
	padding: var(--px5-r);
	border-radius: var(--px5-r);
}
.leg-row b {
	font-weight: 800;
	color: inherit;
}
#legendWrap.open .leg-row {
	animation: revealUp var(--tr-s) var(--cubic) backwards;
}
.chart-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--px15-r);
	animation: revealUp var(--tr-l) var(--cubic) backwards;
}
.btn-go {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--px5-r);
	background: var(--a);
	border: none;
	border-radius: var(--px5-r);
	padding: var(--px15-r);
	font-weight: 600;
	cursor: pointer;
}
.chart-util {
	display: none;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--px15-r);
	justify-content: center;
}
.chart-util:has(> :not([style*='display: none'])) {
	display: flex;
}
.chart-util button,
#legendToggle,
#resetBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--panel);
	border: none;
	border-radius: var(--px5-r);
	padding: var(--px5-r);
	font-weight: 600;
	color: var(--secondary);
	cursor: pointer;
}
.util-toggle {
	font-weight: 600;
	color: var(--secondary);
}
#legendToggle {
	position: absolute;
	top: var(--px5-r);
	left: var(--px5-r);
	z-index: 2;
}
#resetBtn {
	position: absolute;
	top: var(--px5-r);
	right: var(--px5-r);
	z-index: 2;
}
.legend-cmp {
	display: inline-flex;
	align-items: center;
	gap: var(--px5-r);
	color: var(--secondary);
}
.legend-cmp .sw {
	width: var(--px15-r);
	height: 0;
	border-top: 2px dashed var(--cmp);
}
.tool-title {
	font-weight: 800;
	font-size: var(--fs-l);
}
.meta-block,
#areas,
.plan-list {
	display: flex;
	flex-direction: column;
	gap: var(--px30-r);
}
.meta-h,
.note-cap {
	display: block;
	font-weight: 800;
}
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.meta-input {
	width: 100%;
	background: var(--tint);
	border: 2px solid transparent;
	transition: border-color var(--tr-m) var(--cubic);
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border-radius: var(--px5-r);
	padding: var(--px15-r);
}
.meta-input::placeholder,
.note-input::placeholder,
.plan-field input::placeholder,
.plan-field textarea::placeholder {
	color: var(--secondary);
}
.meta-input:focus,
.note-input:focus,
.plan-field input:focus,
.plan-field textarea:focus,
.plan-field select:focus {
	outline: none;
	border-color: var(--a);
}
.seg-row,
.chips,
.area-pills {
	display: flex;
	flex-wrap: wrap;
	gap: var(--px5-r);
}
.seg-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	background: var(--tint);
	font-weight: 600;
	padding: var(--px15-r);
	border-radius: var(--px5-r);
	cursor: pointer;
}
.seg-pill.active,
.chip.active,
.area-pill.active {
	background: var(--a);
}
.area-block {
	display: flex;
	flex-direction: column;
	gap: var(--px15-r);
}
.area-title {
	font-weight: 800;
	font-size: var(--fs-m);
}
.area-desc {
	color: var(--secondary);
}
.chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: calc(var(--fs-s) + var(--px30-r));
	height: calc(var(--fs-s) + var(--px30-r));
	border: none;
	border-radius: var(--px5-r);
	background: var(--tint);
	font-weight: 600;
	cursor: pointer;
}
.note-input {
	width: 100%;
	background: var(--tint);
	border: 2px solid transparent;
	transition: border-color var(--tr-m) var(--cubic);
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border-radius: var(--px5-r);
	padding: var(--px15-r);
	font:
		var(--fs-s)/1 'AG',
		Helvetica,
		sans-serif;
	min-height: calc(var(--fs-s) * 1.5 * 2 + var(--px15-r) * 2);
	resize: none;
	overflow: hidden;
	field-sizing: content;
}
.plan-wrap {
	display: flex;
	flex-direction: column;
	gap: var(--px30-r);
	padding-top: var(--px15-r);
}
.plan-row {
	display: flex;
	flex-direction: column;
	gap: var(--px15-r);
	background: var(--white);
	border: 2px solid var(--panel);
	border-radius: var(--px15-r);
	padding: var(--px15-r);
}
.plan-row-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.plan-row-n {
	font-weight: 800;
}
.row-del {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	background: var(--panel);
	border-radius: var(--px5-r);
	padding: var(--px5-r);
	font-weight: 600;
	color: var(--secondary);
	cursor: pointer;
}
.plan-field > label {
	display: block;
	font-weight: 600;
	color: var(--secondary);
}
.plan-field input,
.plan-field textarea,
.plan-field select {
	width: 100%;
	background: var(--tint);
	border: 2px solid transparent;
	transition: border-color var(--tr-m) var(--cubic);
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border-radius: var(--px5-r);
	padding: var(--px15-r);
	font:
		var(--fs-s)/1 'AG',
		Helvetica,
		sans-serif;
}
.area-pill {
	display: inline-flex;
	align-items: center;
	border: none;
	background: var(--tint);
	font-weight: 600;
	padding: var(--px15-r);
	border-radius: var(--px5-r);
	cursor: pointer;
	text-align: left;
}
.plan-field textarea {
	min-height: calc(var(--fs-s) * 1.45 * 2 + var(--px15-r) * 2);
	resize: none;
	overflow: hidden;
	field-sizing: content;
}
.plan-two {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--px15-r);
}
.score-tag {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	padding: var(--px15-r);
	border-radius: var(--px5-r);
	background: var(--a);
	font-weight: 600;
}
.add-row {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--white);
	border: 2px solid var(--panel);
	border-radius: var(--px5-r);
	padding: var(--px15-r);
	font-weight: 600;
	cursor: pointer;
}
#msg {
	position: fixed;
	left: 50%;
	bottom: var(--px30-r);
	transform: translateX(-50%);
	background: var(--secondary);
	color: var(--white);
	font-weight: 600;
	padding: var(--px15-r);
	border-radius: var(--px5-r);
	pointer-events: none;
	text-align: center;
	z-index: 3;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity var(--tr-l) var(--cubic),
		visibility 0s linear var(--tr-l);
}
#msg.show {
	opacity: 1;
	visibility: visible;
	transition:
		opacity var(--tr-l) var(--cubic),
		visibility 0s;
}
#msg.err {
	background: var(--legend-1);
}
@media (min-width: 981px) {
	.tool {
		height: 100svh;
		overflow: hidden;
	}
	.tool-panel {
		height: 100%;
		grid-template-rows: auto minmax(0, 1fr);
		align-items: stretch;
	}
	.chart-card,
	.content-card {
		min-height: 0;
		height: 100%;
	}
	.chart-card {
		overflow: hidden;
	}
	.star-host {
		flex: 1;
		min-height: 0;
	}
	.star-host svg {
		max-height: 100%;
	}
	.content-card {
		overflow-y: auto;
	}
	.content-card::-webkit-scrollbar-track {
		background: transparent;
		margin: var(--px15-r) 0;
	}
}
@media (max-width: 980px) {
	.tool-panel {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 720px) {
	.cards {
		grid-template-columns: 1fr;
	}
	.card {
		min-height: 340px;
	}
	.plan-two {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 430px) {
	.chart-actions {
		grid-template-columns: 1fr;
	}
}
@keyframes revealUp {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
.card:nth-child(2) .deco svg {
	animation-delay: 0.5s;
}
.card:nth-child(3) .deco svg {
	animation-delay: 0.65s;
}
@keyframes popIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
.page-curtain {
	position: fixed;
	inset: 0;
	background: var(--a);
	z-index: 4;
	pointer-events: none;
	animation: curtainFade 1s var(--cubic) forwards;
}
@keyframes curtainFade {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}
.nav-back,
.card,
.add-row,
.chart-util button,
#resetBtn,
.row-del,
.util-toggle {
	transition: box-shadow var(--tr-m) var(--cubic);
}
.chip,
.seg-pill,
.area-pill {
	transition:
		box-shadow var(--tr-m) var(--cubic),
		background-color var(--tr-m) var(--cubic),
		color var(--tr-m) var(--cubic);
}
.rs-svg .rs-dot,
.rs-svg .rs-dot + .rs-num {
	transition: transform var(--tr-m) var(--cubic);
}
.btn-arrow,
.enter-go svg {
	transition: transform var(--tr-m) var(--cubic);
}
.rs-vtx {
	animation: popIn var(--tr-s) var(--cubic);
	transition:
		opacity var(--tr-m) var(--cubic),
		cx var(--tr-m) var(--cubic),
		cy var(--tr-m) var(--cubic);
}
.rs-trail {
	transition: transform var(--tr-m) var(--cubic);
}
::selection {
	color: var(--t);
	background: var(--a);
}
@media (hover: hover) and (pointer: fine) {
	.nav-back:hover,
	.card:hover,
	.add-row:hover,
	.chart-util button:hover,
	#resetBtn:hover,
	.row-del:hover,
	.util-toggle:hover,
	.chip:hover,
	.seg-pill:hover,
	.area-pill:hover {
		box-shadow: var(--sh-hover);
	}
	.meta-input:hover,
	.note-input:hover,
	.plan-field input:hover,
	.plan-field textarea:hover,
	.plan-field select:hover {
		border-color: var(--a);
	}
	.card:hover .deco {
		transform: translate(-50%, -50%) scale(1.15);
	}
	.rs-svg .rs-dot:hover,
	.rs-svg .rs-dot:hover + .rs-num {
		transform: scale(1.15);
	}
	.btn-go:hover .btn-arrow,
	.enter-go:hover svg,
	.enter:hover .enter-go svg {
		transform: scale(1.15);
	}
}
.nav-back:active,
.card:active,
.add-row:active,
.chart-util button:active,
#resetBtn:active,
.row-del:active,
.chip:active,
.seg-pill:active,
.area-pill:active {
	box-shadow: var(--sh-press);
}
.btn-go:focus,
.chip:focus,
.seg-pill:focus,
.area-pill:focus,
.nav-back:focus,
.add-row:focus,
.enter-go:focus,
#resetBtn:focus,
#legendToggle:focus,
#clearCmpBtn:focus,
.row-del:focus {
	outline: none;
}
.btn-go:focus-visible,
.chip:focus-visible,
.seg-pill:focus-visible,
.area-pill:focus-visible,
.nav-back:focus-visible,
.add-row:focus-visible,
.enter-go:focus-visible,
#resetBtn:focus-visible,
#legendToggle:focus-visible,
#clearCmpBtn:focus-visible,
.row-del:focus-visible {
	outline: 2px solid var(--a);
	outline-offset: 2px;
}
