/* ./leaflet.css */
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(leaflet-layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(leaflet-layers-2x.png);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(leaflet-marker-icon.png);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

/* ./styles.css */
@charset "UTF-8";
:root{--green:#165e45;--ink:#233b32;--muted:#68776d;--cream:#faf9f5;--line:#e2e5dc;--yellow:#f7d769;--white:#fff;--radius:20px;font-family:"Pretendard","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none;line-height:1.65;letter-spacing:-.025em}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b48723;outline-offset:4px}button:disabled{cursor:default;opacity:.55}[hidden]{display:none!important}.skip-link{position:absolute;left:20px;top:-80px;padding:12px;background:var(--green);color:white;z-index:99}.skip-link:focus{top:8px}.site-header{max-width:1240px;margin:auto;min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 36px}.brand{display:flex;gap:10px;align-items:center;font-weight:850;font-size:24px;letter-spacing:-.06em}.brand small{display:block;font-weight:500;font-size:10px;letter-spacing:.02em;line-height:1.1;color:var(--muted)}.top-nav{display:flex;gap:30px;font-size:14px;font-weight:650}.top-nav a{position:relative;padding:16px 0;color:var(--muted)}.top-nav a.active{color:var(--green)}.top-nav a.active:after{content:"";position:absolute;bottom:6px;left:0;right:0;height:3px;background:var(--green);border-radius:10px}.region-button{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:30px;background:var(--white);font-size:13px;padding:9px 15px;max-width:220px}.region-button #region-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}main{max-width:1168px;margin:auto;padding:0 0 45px}.hero{border-radius:28px;background:#edf1e2;display:grid;grid-template-columns:1.25fr 1fr;overflow:hidden;min-height:444px;padding:48px 60px 40px;position:relative}.eyebrow{color:var(--green);font-size:12px;font-weight:750;letter-spacing:.02em;display:flex;gap:7px;align-items:center}.live-dot{width:6px;height:6px;background:var(--green);border-radius:50%}h1,h2,h3,p{margin-top:0}h1{font-size:46px;line-height:1.3;letter-spacing:-.065em;margin:17px 0 18px;font-weight:800}h1 span{color:var(--green)}.hero p{font-size:15px;color:#5c6f60;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:27px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;border:0;padding:12px 20px;border-radius:10px;min-height:48px;font-size:14px;font-weight:700;line-height:1.4}.button.primary{background:var(--green);color:white}.button.primary:hover{background:#0d4833}.button.secondary{background:white;border:1px solid #cad6c7;color:var(--green)}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #a9b99f;padding-bottom:3px}.hero-note{font-size:11px;color:#6d7d65;margin-top:18px}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;padding-top:5px;min-height:340px}.hero-art svg{width:330px;max-width:100%;position:relative;z-index:2;transform:rotate(-5deg)}.hero-art:before{content:"";position:absolute;width:290px;height:290px;border-radius:50%;background:#e2e9cc;left:50%;top:47%;transform:translate(-50%,-50%)}.art-label{position:absolute;bottom:-4px;font-size:12px;color:#667859;transform:rotate(-4deg);border-bottom:1px solid #a4b892;padding-bottom:5px}.orbit{position:absolute;border:1px solid #bccba6;padding:5px 17px;border-radius:50%;font-size:13px;color:#577348;background:#edf1e2;z-index:3}.orbit-one{top:28px;right:40px;transform:rotate(15deg)}.orbit-two{bottom:62px;left:8px;transform:rotate(-16deg)}.coin{position:absolute;display:grid;place-items:center;background:var(--yellow);border:3px solid #d8ac36;border-radius:50%;color:#a77d16;font-weight:850;box-shadow:3px 4px 0 #d8ac3644;z-index:3}.coin-one{width:43px;height:43px;left:25px;top:44px;transform:rotate(-15deg)}.coin-two{width:31px;height:31px;right:12px;bottom:70px;transform:rotate(20deg)}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:22px 28px;border-bottom:1px solid var(--line);font-size:12px;color:#627061;text-align:center;gap:12px}.trust-strip b{font-size:11px;color:#9eab8e;margin-right:9px;letter-spacing:.04em}.section{padding-top:44px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.section-heading h2{margin:6px 0 0;font-size:25px;letter-spacing:-.05em}.subtle{font-size:13px;color:var(--muted);margin:8px 0 0}.source-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filter{border:1px solid var(--line);background:white;font-size:13px;padding:8px 17px;border-radius:30px;font-weight:600}.filter[aria-pressed="true"]{background:var(--green);color:white;border-color:var(--green)}.search{border:1px solid var(--line);border-radius:10px;background:white;display:flex;align-items:center;gap:8px;padding:8px 12px;min-width:240px}.search span{font-size:24px;line-height:1;color:#68796d}.search input{border:0;background:transparent;outline:none;font-size:13px;width:100%;min-width:0}.source-notice{display:flex;align-items:flex-start;gap:8px;color:#6c796b;background:#f0f1e9;font-size:11px;padding:11px 14px;border-radius:8px;margin:17px 0 20px}.source-notice p{margin:0}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.source-card{background:white;border:1px solid var(--line);border-radius:16px;min-height:270px;padding:22px;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}.source-card:hover{transform:translateY(-3px);box-shadow:0 9px 25px #344b3210}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.category-icon{display:grid;place-items:center;font-size:22px;width:44px;height:44px;border-radius:13px;background:#f4efd8;color:#75652c}.category-icon.fuel{background:#f9eee2}.category-icon.lunch{background:#eff3df}.category-icon.living{background:#e9eff5}.category-icon.finance{background:#ede9f5}.favorite-button{font-size:25px;color:#66745d;background:transparent;border:0;padding:0 5px;line-height:1.6;min-width:40px;min-height:40px}.favorite-button[aria-pressed="true"]{color:#bc8612}.card-tag{font-size:10px;color:var(--green);background:#edf4ec;padding:2px 7px;border-radius:4px;align-self:flex-start;margin-bottom:8px}.source-card h3{font-size:19px;margin:0 0 7px;letter-spacing:-.035em}.source-card p{font-size:12px;color:var(--muted);margin:0 0 16px;line-height:1.75}.card-meta{margin-top:auto;font-size:10px;color:#6b786b;border-top:1px solid #eff0e9;padding-top:11px;display:flex;flex-wrap:wrap;gap:4px 12px}.source-link{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--green);font-weight:750;padding-top:14px}.source-link span{font-size:18px}.nearby-panel{background:#f0ebdc;border-radius:20px;margin-top:38px;padding:30px 38px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.nearby-panel h2{font-size:25px;line-height:1.5;margin:9px 0}.nearby-panel p{font-size:12px;color:#79745e;margin:0;max-width:360px}.nearby-actions{display:flex;flex-wrap:wrap;gap:10px;align-content:center}.nearby-actions .button{width:100%;background:#faf8f0;min-height:40px}.map-link{background:#faf8f0;padding:7px 11px;border:1px solid #ded9c7;border-radius:7px;font-size:11px;flex:1;text-align:center;white-space:nowrap}.nearby-actions small{display:block;width:100%;font-size:10px;color:#827e6d;text-align:center}.standalone{min-height:65vh;padding-top:36px}.page-title{font-size:35px;margin:8px 0 10px}.small-title{font-size:17px;margin-top:35px}.small-title span{color:var(--green);font-size:13px;margin-left:5px}.empty-state{border:1px dashed #cbd5c5;background:#f1f4eb;border-radius:15px;padding:32px;text-align:center;color:#6f7c67;font-size:13px}.empty-state h3{font-size:19px;color:var(--ink);margin:12px 0 7px}.empty-state .button{margin-top:10px}.empty-icon{font-size:30px;color:#8aa278}.record-heading{margin-top:38px}.record-heading h2{font-size:22px}.backup-actions{display:flex;gap:14px;white-space:nowrap}.text-button{border:0;background:transparent;font-size:12px;padding:4px 0;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.record-group{margin-bottom:24px;background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden}.record-group h3{font-size:14px;background:#edf3e7;padding:13px 18px;margin:0}.record-row{padding:15px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px}.record-row:last-child{border:0}.record-info{flex:1;min-width:0;overflow-wrap:anywhere}.record-info b{display:block;font-size:14px}.record-info small{display:block;font-size:11px;color:var(--muted)}.record-price{font-size:18px;font-weight:750;white-space:nowrap}.record-low{font-size:10px;color:var(--green);display:block;text-align:right;font-weight:500}.delete-record{background:transparent;border:0;color:#7a7e73;font-size:11px;text-decoration:underline;min-height:40px}.privacy-note{color:#78816f;font-size:11px;margin:18px 0 0}.calculator-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:28px}.form-card{background:white;border:1px solid var(--line);border-radius:20px;padding:30px}.form-card h2{font-size:19px;margin-bottom:20px}label{display:block;font-size:12px;font-weight:650;margin-bottom:15px}input,select{display:block;width:100%;margin-top:7px;border:1px solid #d8dfd1;border-radius:8px;padding:11px 12px;background:white;color:var(--ink);font-size:14px;min-height:44px}input::placeholder{color:#929b8c;font-weight:400}.search input{margin:0;padding:0;min-height:24px}.form-card .button{width:100%;margin-top:5px}.calc-result{background:#edf2e2;border-radius:20px;padding:37px 34px}.calc-result>p{font-size:15px;margin-top:28px;margin-bottom:5px}.big-number{font-size:43px;font-weight:850;letter-spacing:-.06em;color:var(--green);line-height:1.4}.big-number.negative{color:#9b562b}#calc-description{margin-top:0;font-size:14px;color:#617556}.calc-divider{border-top:1px solid #cfdbc2;margin:28px 0 21px}.result-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-top:12px}.result-row span{color:#6f7b61}.result-row b{font-weight:650;text-align:right}.calc-result .calc-footnote{font-size:11px;line-height:1.8;color:#6c7c61;margin-top:32px}.reading-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:30px}.reading-card{background:white;border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column}.reading-card .eyebrow{margin-bottom:25px}.reading-card h2{font-size:22px;margin:0 0 10px}.reading-card p{font-size:13px;color:var(--muted)}.reading-card a{font-weight:700;font-size:12px;color:var(--green);margin-top:auto}.reading-note{padding:30px;border-radius:18px;background:#eeefdf;margin-top:25px}.reading-note h2{font-size:17px}.reading-note p{font-size:12px;color:#6f795f;margin:0}footer{max-width:1168px;margin:auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 0 35px}.footer-brand{font-size:18px;font-weight:800}.footer-brand span{font-size:11px;margin-left:10px;color:var(--muted);font-weight:500}footer>div{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.version{font-size:10px;color:#7e8877}dialog{border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 80px #183a3233;padding:28px;width:min(480px,calc(100% - 32px));max-height:90dvh;color:var(--ink);overflow:auto}dialog::backdrop{background:#182c2566;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.dialog-heading h2{font-size:20px;margin:0}.icon-button{font-size:25px;border:0;background:transparent;min-width:36px;min-height:36px}.dialog-heading+p{font-size:12px;margin-bottom:20px}dialog .button{width:100%;margin-top:8px}dialog h3{font-size:14px;margin:22px 0 6px}dialog>p{font-size:12px;color:var(--muted)}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#193b30;color:white;border-radius:10px;padding:12px 20px;font-size:12px;z-index:100;opacity:0;pointer-events:none;max-width:calc(100% - 30px);text-align:center;transition:opacity .2s,transform .2s}#toast.visible{opacity:1;transform:translate(-50%,0)}noscript{display:block;padding:24px;text-align:center}
@media(min-width:1500px){.site-header{max-width:1320px}main,footer{max-width:1248px}.hero{min-height:470px}.hero-art svg{width:350px}.hero-art:before{width:330px;height:330px}.hero-copy{padding-top:10px}}
@media(max-width:1220px){main,footer{margin-left:32px;margin-right:32px}.site-header{padding-left:32px;padding-right:32px}.hero{padding:42px}.hero h1{font-size:40px}.hero-actions{gap:15px}.text-link{font-size:11px}.hero-art svg{width:290px}.hero-art:before{width:250px;height:250px}}
@media(max-width:900px){.top-nav{gap:17px;font-size:12px}.hero{grid-template-columns:1.3fr 1fr;padding:35px 30px;min-height:410px}.hero h1{font-size:35px}.hero-art svg{width:240px}.hero-art:before{width:220px;height:220px}.orbit-one{right:0}.orbit-two{left:0}.coin-one{left:0}.coin-two{right:-3px}.source-grid{grid-template-columns:repeat(2,1fr)}.source-toolbar{flex-wrap:wrap}.search{width:100%}.nearby-panel{gap:25px;padding:28px}.nearby-panel h2{font-size:22px}.calculator-layout{gap:20px}.form-card,.calc-result{padding:25px}footer{align-items:flex-start}footer>div{justify-content:flex-end;gap:12px}}
@media(max-width:640px){.site-header{padding:17px 20px 0;min-height:110px;flex-wrap:wrap;gap:10px}.brand{font-size:22px}.brand img{width:34px;height:34px}.region-button{font-size:11px;max-width:180px;padding:7px 12px}.top-nav{order:3;width:100%;gap:0;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px;margin-top:2px}.top-nav a{padding:11px 4px 14px}.top-nav a.active:after{bottom:0}main,footer{margin-left:20px;margin-right:20px}.hero{margin-top:20px;display:flex;flex-direction:column;padding:26px 25px 24px;min-height:auto;border-radius:20px}.eyebrow{font-size:10px}.hero h1{font-size:34px;margin:15px 0 14px}.hero p{font-size:13px;line-height:1.8;margin-bottom:0}.hero-actions{margin-top:22px;gap:14px}.hero-actions .button{padding:12px 15px;min-height:44px;font-size:12px;gap:18px}.text-link{font-size:10px}.hero-note{font-size:10px;margin-top:13px}.hero-art{min-height:200px;margin-top:15px}.hero-art svg{width:222px}.hero-art:before{width:192px;height:192px}.orbit-one{right:14px;top:22px}.orbit-two{left:18px;bottom:28px}.coin-one{left:27px;top:14px;width:33px;height:33px}.coin-two{right:23px;bottom:43px;width:26px;height:26px;font-size:12px}.art-label{bottom:-5px;font-size:10px}.orbit{font-size:10px;padding:3px 12px}.trust-strip{padding:19px 0;font-size:10px;gap:8px;line-height:1.5}.trust-strip b{display:block;font-size:9px;margin:0 0 4px}.section{padding-top:32px}.section-heading{align-items:flex-start;gap:12px;margin-bottom:18px}.section-heading h2{font-size:22px}.section-heading>.subtle{font-size:10px;white-space:nowrap;margin-top:17px}.source-toolbar{gap:13px}.filters{gap:6px;flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:3px}.filter{font-size:11px;padding:7px 13px;white-space:nowrap}.search{padding:9px 12px;min-width:0}.source-notice{font-size:10px;margin:14px 0 16px;padding:10px 12px}.source-grid{grid-template-columns:1fr;gap:13px}.source-card{padding:20px;min-height:245px}.card-top{margin-bottom:14px}.category-icon{width:40px;height:40px;font-size:20px}.source-card h3{font-size:19px}.source-card p{font-size:12px;margin-bottom:15px}.source-card .card-meta{font-size:10px}.nearby-panel{grid-template-columns:1fr;gap:18px;padding:25px;margin-top:28px;border-radius:16px}.nearby-panel h2{font-size:23px}.nearby-panel p{font-size:11px}.nearby-actions{gap:8px}.map-link{font-size:10px;padding:8px}.nearby-actions small{font-size:9px}.standalone{padding-top:28px}.page-title{font-size:29px;line-height:1.4}.standalone>.section-heading{flex-wrap:wrap}.standalone>.section-heading .button{min-height:42px;font-size:12px}.record-heading{flex-direction:column;gap:12px}.record-heading .subtle{font-size:11px}.record-heading h2{font-size:22px}.record-row{gap:10px;padding:14px}.record-price{font-size:16px}.record-info b{font-size:12px}.record-info small{font-size:10px}.delete-record{font-size:10px}.record-low{font-size:9px}.record-group h3{font-size:12px;padding:12px 14px;overflow-wrap:anywhere}.empty-state{padding:28px 18px}.empty-state p{font-size:11px}.calculator-layout{grid-template-columns:1fr;gap:16px;margin-top:23px}.form-card,.calc-result{padding:24px;border-radius:16px}.big-number{font-size:37px}.reading-grid{grid-template-columns:1fr;gap:15px;margin-top:24px}.reading-card{padding:24px}.reading-card h2{font-size:21px}.reading-card .eyebrow{margin-bottom:18px}.reading-note{padding:24px}.reading-note p{font-size:11px}footer{display:block;padding:22px 0 28px}footer>div{justify-content:flex-start;gap:12px;margin-top:14px}footer .text-button{font-size:10px}.version{font-size:9px}dialog{padding:23px}.dialog-heading h2{font-size:18px}.form-pair{gap:10px}.subtle{font-size:12px}#toast{font-size:11px;bottom:20px;width:max-content;max-width:calc(100% - 30px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.source-card h3,.reading-card h2,.big-number{overflow-wrap:anywhere}.record-row{flex-wrap:wrap}.record-info{min-width:100px}.delete-record{min-width:44px;min-height:44px}.favorite-button{min-width:44px;min-height:44px}

.visit-panel{display:grid;grid-template-columns:1fr auto;gap:12px 24px;padding:25px 28px;margin-top:24px;background:white;border:1px solid var(--line);border-radius:18px}.visit-panel h2{font-size:21px;margin:5px 0}.visit-panel p{font-size:12px;color:var(--muted);margin:5px 0}.visit-value{text-align:right;display:flex;flex-direction:column;justify-content:center}.visit-value strong{font-size:28px;color:var(--green)}.visit-value span{font-size:11px;color:var(--muted)}.visit-panel details{grid-column:1/-1;font-size:12px}.visit-panel summary{cursor:pointer;color:var(--green)}@media(max-width:640px){.visit-panel{padding:20px;grid-template-columns:1fr}.visit-value{text-align:left;align-items:flex-start}.visit-value strong{font-size:26px}}
.places-toolbar{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:15px;margin-top:25px;align-items:end}.places-toolbar label{margin:0}.places-toolbar .checkbox-label{grid-column:1/-1;display:flex;align-items:center;gap:9px;padding:4px 0 15px}.checkbox-label input{width:20px;min-height:20px;height:20px;margin:0}.embedded-map-shell{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;margin-bottom:24px}.map-placeholder{padding:42px 25px;text-align:center;background:#edf2e8}.map-placeholder>span{font-size:35px;color:var(--green)}.map-placeholder h2{font-size:22px;margin:8px 0}.map-placeholder>p{font-size:13px;color:var(--muted)}#naver-map{width:100%;height:450px}.map-status{padding:13px 18px;font-size:12px;color:var(--muted);margin:0;overflow-wrap:anywhere}.places-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.place-card{border:1px solid var(--line);border-radius:15px;background:white;padding:20px;display:flex;flex-direction:column;align-items:flex-start;min-width:0;overflow-wrap:anywhere}.place-card h3{font-size:18px;margin:5px 0}.place-address{font-size:12px;color:var(--muted);margin-bottom:12px}.place-menu{display:flex;justify-content:space-between;gap:12px;font-size:13px;width:100%;padding:5px 0}.place-menu span{min-width:0}.place-menu b{white-space:nowrap;color:var(--green)}.place-date{font-size:11px!important;color:var(--muted);margin:9px 0 0}.place-location-state{font-size:11px;color:var(--green);margin:4px 0 14px}.place-card>.button{margin-top:auto;align-self:stretch;min-height:44px;font-size:12px}.place-pagination{display:flex;align-items:center;justify-content:center;gap:15px;margin:24px 0;flex-wrap:wrap;font-size:13px}.place-selection{background:#fff;border:2px solid var(--green);border-radius:16px;padding:24px;margin-bottom:26px;overflow-wrap:anywhere}.place-detail{padding:16px;max-width:100%;font:13px/1.65 system-ui,sans-serif;color:var(--ink);overflow-wrap:anywhere}.place-detail h3{font-size:18px;margin:0 0 5px}.place-detail p{font-size:12px;margin-bottom:8px}.price-menu-list{list-style:none;padding:0;margin:8px 0}.price-menu-list li{display:flex;justify-content:space-between;gap:20px;font-size:14px;padding:3px 0}.place-detail .text-button{display:inline-block;margin:6px 16px 0 0}.place-search-label input{min-width:0}.nearby-actions .map-link{flex-basis:100%}@media(max-width:900px){.places-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.places-toolbar{grid-template-columns:1fr 1fr;gap:12px}.place-search-label{grid-column:1/-1}.places-grid{grid-template-columns:1fr}#naver-map{height:350px}.map-placeholder{padding:28px 18px}.map-placeholder h2{font-size:19px}.place-selection{padding:10px}.top-nav{font-size:11px}.map-status{font-size:11px}}
.geo-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:18px 0 10px}.geo-toolbar .radius-label{font-size:11px;margin:0;min-width:105px}.radius-label select{margin-top:3px;padding:10px;min-height:46px}.geo-toolbar .button{min-height:46px;font-size:13px;padding:12px 16px}.location-status{font-size:12px;color:var(--green);margin:8px 0 12px;line-height:1.7}.embedded-map-shell{isolation:isolate;position:relative}#area-map{width:100%;height:460px;background:#e7ece6;z-index:0}.official-price-pin{background:none;border:0}.leaflet-popup-content{margin:8px;max-width:290px}.leaflet-popup-content .place-detail{max-width:270px;padding:8px}.leaflet-control-attribution{font-size:10px!important;line-height:1.5!important}.map-data-guide{display:block;font-size:12px}.map-data-guide summary{font-weight:700;color:var(--green);cursor:pointer}.map-data-guide p{margin:10px 0 0}.map-location-privacy{margin-top:-10px;margin-bottom:18px}.geo-toolbar .text-button{min-height:36px}.leaflet-container a{color:#165e45}.map-status{min-height:44px}@media(max-width:640px){#area-map{height:360px}.geo-toolbar{gap:8px}.geo-toolbar .button{padding:10px 12px;font-size:12px}.geo-toolbar .radius-label{min-width:85px}.geo-toolbar .text-button{font-size:11px}.location-status{font-size:11px}.map-location-privacy{font-size:10px}.standalone[data-view="map"]{padding-top:20px}.standalone[data-view="map"] .page-title{font-size:27px;margin-top:4px}.leaflet-popup-content .place-detail{max-width:240px}.leaflet-control-attribution{max-width:230px;white-space:normal}}

.map-price-basis{font-size:12px;color:var(--green);margin:-10px 0 18px;line-height:1.7}

.price-marker{display:flex;flex-direction:column;align-items:center;justify-content:center;width:144px;height:52px;box-sizing:border-box;padding:5px 8px;background:#165e45;color:#fff;border:2px solid #fff;border-radius:13px;box-shadow:0 2px 6px #0004;font:600 11px/1.4 system-ui,sans-serif;white-space:nowrap}
.price-marker-description{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-width:0}
.price-marker-category{flex:0 1 auto;max-width:6em;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:#dbeadf}
.price-marker-category::after{content:"·";margin-left:5px}
.price-marker-item{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:11px}
.price-marker-amount{display:block;font-size:14px;line-height:1.4;font-weight:750}
.price-cluster{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:48px;height:48px;padding:0;background:#fffdf6;color:#344b38;border:2px solid #60745d;border-radius:18px;box-shadow:0 2px 5px #0003;font:800 11px/1 system-ui,sans-serif;white-space:nowrap}.cluster-potato{width:25px;height:28px;flex:none}.cluster-potato svg{display:block;width:100%;height:100%}.is-selected{outline:3px solid #17674d;outline-offset:3px}.selected-group-bar{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#edf3e9;margin-bottom:18px}.selected-group-bar p{margin:0 0 10px;font-size:13px}.selected-group-bar>div{display:flex;gap:8px;flex-wrap:wrap}.selected-group-bar .button{min-height:44px;font-size:12px;padding:10px 14px}#place-list-title,#place-selection,#monthly-budget{scroll-margin-top:90px}.price-menu-list li{flex-direction:column;gap:3px;border-bottom:1px solid var(--line);padding:9px 0}.menu-line{display:flex;justify-content:space-between;gap:18px}.price-menu-list .text-button{align-self:flex-start;min-height:44px;text-align:left;margin:0}.monthly-budget{border:1px solid var(--line);border-radius:20px;background:#f5f7ee;padding:26px;margin:28px 0;overflow-wrap:anywhere}.monthly-budget h2{margin:4px 0 10px}.monthly-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:26px;align-items:start}.monthly-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.monthly-inputs label{font-size:12px;margin:0}.monthly-inputs input{width:100%;min-width:0;box-sizing:border-box;min-height:46px;margin-top:5px}.monthly-result{min-width:0;background:white;border:1px solid var(--line);border-radius:16px;padding:22px}.monthly-total{display:block;font-size:clamp(23px,4vw,32px);font-weight:800;line-height:1.5;color:var(--green)}.monthly-result .result-row{gap:12px;font-size:13px;padding:9px 0}.monthly-result .subtle,.monthly-budget>p,.monthly-layout>div>p{font-size:12px;line-height:1.8}.monthly-initial-inputs{margin:16px 0;font-size:13px}.monthly-initial-inputs summary{cursor:pointer;min-height:44px}.monthly-initial-inputs .monthly-inputs{margin-top:10px}.budget-warning{font-size:12px;color:#8a3329;background:#fff0df;border-radius:10px;padding:12px}@media(max-width:760px){.monthly-layout{grid-template-columns:1fr}.monthly-budget{padding:18px}.monthly-result{padding:16px}}

.map-modes{display:flex;gap:8px;margin:16px 0}.map-modes button{min-height:44px;border:1px solid var(--line);border-radius:22px;background:#fff;color:var(--ink);padding:9px 18px;font-size:13px;font-weight:700}.map-modes button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:white}
.map-canvas-wrap{position:relative}.price-focus-control{position:static;width:100%;min-width:0;box-sizing:border-box;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 18px 10px;background:#fbfcf9}.price-focus-heading{display:flex;align-items:center;justify-content:space-between;gap:6px}.price-focus-heading label{font-size:11px;line-height:1.4;margin:0}.price-focus-heading output{font-size:10px;font-weight:750;color:#165e45;white-space:nowrap}.price-focus-control input[type="range"]{display:block;appearance:none;-webkit-appearance:none;width:100%;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:transparent;cursor:ew-resize;touch-action:pan-y}.price-focus-control input[type="range"]::-webkit-slider-runnable-track{height:7px;border-radius:7px;background:linear-gradient(90deg,#5ba64b,#d7cb77 50%,#d6645d)}.price-focus-control input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:42px;height:46px;margin-top:-20px;border:0;background-color:transparent;background-image:var(--potato-thumb);background-size:contain;background-repeat:no-repeat;filter:drop-shadow(0 1px 1px #0005)}.price-focus-control input[type="range"]::-moz-range-track{height:7px;border-radius:7px;background:linear-gradient(90deg,#5ba64b,#d7cb77 50%,#d6645d)}.price-focus-control input[type="range"]::-moz-range-thumb{width:42px;height:46px;border:0;background:var(--potato-thumb) center/contain no-repeat;filter:drop-shadow(0 1px 1px #0005)}.price-focus-control input:focus-visible{outline:2px solid #165e45;outline-offset:3px}.price-focus-control input:disabled{opacity:.45;cursor:wait}.price-focus-labels{display:flex;justify-content:space-between;font-size:9px;color:#536458;pointer-events:none}
.tier-0{--marker-bg:#e2f3df;--marker-border:#267c39}.tier-1{--marker-bg:#eef5d6;--marker-border:#608b25}.tier-2{--marker-bg:#fff3d3;--marker-border:#a16b0b}.tier-3{--marker-bg:#ffe4cd;--marker-border:#b85c1c}.tier-4{--marker-bg:#fce1df;--marker-border:#b53030}.tier-unknown{--marker-bg:#edf0ee;--marker-border:#6b7c71}
.price-marker{display:grid;grid-template-columns:34px minmax(0,1fr);gap:5px;width:172px;height:60px;padding:4px 7px;background:var(--marker-bg);border-color:var(--marker-border);color:#213b2b;border-radius:13px;box-shadow:0 2px 7px #0004;white-space:nowrap}.potato-face{width:34px;height:43px;align-self:center}.potato-face svg{display:block;width:100%;height:100%}.marker-copy{min-width:0;text-align:center}.price-marker-description{gap:3px;height:15px}.price-marker-category{color:#3e5142;font-size:9px;max-width:6em}.price-marker-category::after{margin-left:3px}.price-marker-item{font-size:10px}.price-marker-amount{font-size:13px;line-height:1.35}.price-marker-band{display:block;font-size:9px;font-weight:650;color:#3b4c3c;line-height:1.4;overflow:hidden;text-overflow:ellipsis}
.price-legend{display:flex;align-items:center;gap:7px 12px;flex-wrap:wrap;padding:0 16px 12px;font-size:10px}.price-legend>span{display:inline-flex;align-items:center;gap:4px}.price-legend>span::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--marker-bg);border:2px solid var(--marker-border)}.price-band-chip{display:inline-block;font-size:10px;margin:7px 0 0;padding:2px 7px;border-radius:8px;border:1px solid var(--marker-border);background:var(--marker-bg);color:#304735}.price-comparison-note{font-size:11px!important;color:#596a5c;border-top:1px solid var(--line);padding-top:9px}.housing-guide{padding:19px 22px;border:1px solid var(--line);border-radius:16px;background:#f1f2e8;margin:16px 0}.housing-guide h2{font-size:19px;margin:0 0 8px}.housing-guide p{font-size:12px;color:#596a5c;margin:7px 0}.housing-guide small{display:block;font-size:10px;color:#6b7565}.housing-guide a{color:var(--green);text-decoration:underline}.housing-actions{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0}.housing-actions label{margin:0;min-width:180px}.housing-actions button{font-size:12px;min-height:44px}.places-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.place-search-label{grid-column:1/-1}@media(max-width:640px){.price-focus-control{padding:10px 14px 8px}.price-focus-heading label{font-size:10px}.price-focus-heading output{font-size:9px}.price-focus-labels{font-size:9px}.map-modes{margin:12px 0}.map-modes button{font-size:12px;padding:9px 15px}.housing-guide{padding:17px}.housing-guide p{font-size:11px}.housing-guide h2{font-size:18px}.price-legend{font-size:9px;padding:0 12px 11px;gap:6px 9px}}

/* Public source checks: fit both home and map without changing map controls. */
.update-panel{margin:1.5rem 0;padding:1.15rem 1.25rem;border:1px solid #dce3d7;border-radius:18px;background:#f0f3ec;overflow-wrap:anywhere}.update-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.update-heading strong{color:#245440}.update-panel p{margin:.45rem 0;line-height:1.7}.update-panel .subtle{font-size:.8rem}.update-panel summary{cursor:pointer;color:#315e4e;font-weight:650}.update-panel details p{font-size:.85rem}.update-heading .text-button{font-size:.8rem}

.budget-guide{font-size:10px;line-height:1.6;color:var(--muted);margin:8px 0 0;overflow-wrap:anywhere}.price-focus-heading{flex-wrap:wrap}.price-focus-heading output{font-size:12px}.price-focus-labels{gap:12px}.price-focus-labels span:nth-child(2){text-align:center}.price-focus-labels span:last-child{white-space:nowrap}

#monthly-budget-open,#monthly-reset{min-height:44px}.price-cluster strong{font-size:10px;line-height:1.1}

.install-methods{display:flex;gap:8px;margin:14px 0}.install-methods button{flex:1;border:1px solid var(--line);background:white;border-radius:20px;font-size:12px;min-height:44px;padding:8px}.install-methods button[aria-pressed="true"]{background:var(--green);color:white;border-color:var(--green)}.install-steps{padding-left:22px;font-size:13px}.install-steps li{padding-left:4px;margin:18px 0}.install-steps strong,.install-steps span{display:block}.install-steps span{font-size:12px;color:var(--muted);margin-top:4px}.install-address{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eef3e8;border-radius:10px;padding:12px;font-size:13px}.install-address button{min-height:44px}#install-state{font-size:12px;color:var(--green);margin:10px 0}#install-native{margin-bottom:8px}

.admin-growth{padding:20px 0;margin:16px 0;border-block:1px solid var(--line,#d7dfd1)}.admin-growth progress{width:100%;height:14px;accent-color:#165e45;margin:14px 0}.admin-growth-history{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:7px 16px;list-style:none;padding:0;font-size:12px}.admin-growth>small{display:block;color:#68776d;line-height:1.6}

.admin-traffic{margin:20px 0 28px}.admin-traffic h2{font-size:24px;margin:0 0 10px}.admin-traffic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-traffic-grid article{min-width:0;display:grid;gap:8px;padding:18px;border:1px solid var(--line);border-radius:18px;background:white}.admin-traffic-grid strong{font-size:clamp(19px,4.5vw,32px);color:var(--green);overflow-wrap:anywhere}.admin-traffic-grid article:first-child{background:#edf4e4}.admin-traffic-grid small,.admin-traffic-note,#admin-traffic-status{font-size:12px;line-height:1.65;color:var(--muted)}.admin-traffic-history{list-style:none;display:grid;gap:8px;padding:0;margin:22px 0}.admin-traffic-history li{display:grid;grid-template-columns:50px minmax(0,1fr) 100px;gap:10px;align-items:center;font-size:12px}.admin-traffic-history meter{width:100%;height:12px;accent-color:var(--green)}.admin-traffic-history li>span:last-child{text-align:right}@media(max-width:360px){.admin-traffic-grid article{padding:12px}.admin-traffic-history li{grid-template-columns:42px minmax(0,1fr) 90px;gap:6px}}

/* A cluster describes both sides of the personal cap, before list filtering. */
.price-cluster{width:64px;height:64px;padding:2px 3px 4px;gap:1px;background:var(--marker-bg);border-color:var(--marker-border);border-radius:20px;color:#253b2e}.cluster-potato{width:27px;height:30px}.cluster-count{font-size:11px;line-height:13px}.cluster-share{font-size:9px;font-weight:750;line-height:12px;letter-spacing:-.03em}.cluster-over{color:#722a29}.cluster-within{color:#195b2b}.map-cluster-key{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:4px 12px;margin:0;border-top:1px solid var(--line);background:#fff;font-size:10px;line-height:1.6}.map-cluster-key span{white-space:nowrap;font-weight:700}.key-within{color:#226d35}.key-over{color:#a12f2c}.key-mixed{color:#835806}.key-unknown{color:#59685f}@media(max-width:360px){.map-cluster-key{gap:3px 8px;font-size:9px}}
html:not([lang="ko"]) .cluster-count{font-size:9px}html:not([lang="ko"]) .map-cluster-key{font-size:9px;gap:3px 8px}

.admin-stat-nav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.admin-stat-nav button{min-height:44px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;color:var(--green);font-weight:700}.admin-stat-nav button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.admin-stat-table-wrap{overflow-x:auto;margin:20px 0}.admin-stat-table-wrap table{width:100%;border-collapse:collapse;font-size:14px}.admin-stat-table-wrap caption{text-align:left;padding:10px 0;font-weight:700}.admin-stat-table-wrap th,.admin-stat-table-wrap td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.admin-stat-table-wrap th:first-child{text-align:left}.admin-stat-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.admin-stat-breakdown p{padding:10px;border:1px solid var(--line);border-radius:12px;font-size:14px;margin:0}.admin-improvement-signals{padding:0;list-style:none;display:grid;gap:12px}.admin-improvement-signals li{padding:16px;background:#edf4e4;border-radius:14px;line-height:1.8}.admin-panel .admin-traffic{scroll-margin-top:90px}.admin-panel .admin-traffic-note,#admin-activity-status,#admin-participation-status{font-size:14px;line-height:1.75}

/* Independent studio entry: preserve the six tabs and radio document. */
.paint-entry-card{display:flex;align-items:center;gap:12px;margin:14px 0;padding:14px 16px;border:1px solid #dce4d1;border-radius:16px;background:linear-gradient(110deg,#f6f0e0,#edf3e5);color:#284b3a;text-decoration:none;min-height:66px}.paint-entry-card>span:first-child{font-size:27px}.paint-entry-card>span:nth-child(2){flex:1;min-width:0}.paint-entry-card strong,.paint-entry-card small{display:block}.paint-entry-card strong{font-size:15px}.paint-entry-card small{font-size:12px;margin-top:3px;line-height:1.5}.paint-entry-action{font-size:12px;max-width:32%;overflow-wrap:anywhere}.paint-entry-card:focus-visible{outline:3px solid #47764a;outline-offset:3px}
/* Conditional source offers remain visible beside their original menu and price. */
.price-condition{display:block;font-size:.85rem;font-weight:650;color:#795319;margin:.2rem 0;white-space:normal;overflow-wrap:anywhere}

.housing-photo-dialog{width:min(680px,calc(100vw - 24px));max-height:90dvh;border:0;border-radius:18px;padding:20px;overflow:auto;color:#263e34;background:#fbfdf8}.housing-photo-dialog::backdrop{background:#18382b88}.housing-photo-dialog header{display:flex;justify-content:space-between;gap:12px;align-items:start}.housing-photo-dialog h2{font-size:1.2rem;overflow-wrap:anywhere}.housing-photo-dialog label{display:block;margin:12px 0;line-height:1.6}.housing-photo-dialog label input:not([type=checkbox]),.housing-photo-dialog select{display:block;max-width:100%;padding:9px}.housing-photo-dialog input[type=checkbox]{margin-right:8px}.housing-photo-dialog button{margin:5px 6px 5px 0}.housing-photo-dialog article{padding:14px 0;border-bottom:1px solid #ddd}.housing-photo-preview,.housing-photo-canvas{width:100%;max-height:420px;object-fit:contain;border-radius:12px;background:#eee}.housing-photo-canvas{touch-action:none;max-height:none;height:auto}.housing-photo-dialog p,.housing-photo-dialog details{line-height:1.7;overflow-wrap:anywhere}.housing-photo-entry{margin:10px 0}.housing-photo-grid{display:grid;gap:12px}.housing-photo-dialog summary{cursor:pointer}

/* Place feedback uses native radios: keyboard arrows, focus rings, explicit save. */
.place-feedback{border-top:1px solid var(--line,#ddd);margin-top:1rem;padding-top:1rem;display:flex;flex-wrap:wrap;gap:.65rem}.place-feedback>h4,.place-feedback>p,.place-feedback>fieldset,.place-feedback>label{flex-basis:100%;margin:.25rem 0}.place-feedback fieldset{border:0;padding:0;min-width:0}.place-rating-stars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;max-width:300px}.place-rating-choice{position:relative;display:grid!important;place-items:center;gap:3px!important;cursor:pointer;min-width:0;min-height:66px;box-sizing:border-box;border:2px solid #d4c9b8;border-radius:13px;padding:5px 0!important;background:#fffcf6}.place-rating-choice input{position:absolute;opacity:0;width:100%;height:100%;margin:0;inset:0;cursor:pointer;z-index:1}.place-rating-potato{--potato-fill:#eee4d4;--potato-shade:#d8c9b5;--potato-line:#ac9980;--potato-face:#79664e;--potato-cheek:#e4d4bf;display:inline-block;position:relative;box-sizing:border-box;width:1em;height:1.08em;flex-shrink:0;font-size:34px;border:1.5px solid var(--potato-line);border-radius:47% 53% 44% 56% / 55% 43% 57% 45%;background:radial-gradient(ellipse at 22% 58%,var(--potato-cheek) 0 8%,transparent 9%),radial-gradient(ellipse at 78% 58%,var(--potato-cheek) 0 8%,transparent 9%),radial-gradient(circle at 26% 22%,var(--potato-line) 0 2.5%,transparent 3.5%),radial-gradient(circle at 76% 77%,var(--potato-line) 0 2.5%,transparent 3.5%),var(--potato-fill);box-shadow:inset -.08em -.09em 0 var(--potato-shade);pointer-events:none}.place-rating-potato::before{content:'';position:absolute;left:.27em;top:.4em;width:.09em;height:.12em;border-radius:50%;background:var(--potato-face);box-shadow:.35em 0 0 var(--potato-face)}.place-rating-potato::after{content:'';position:absolute;left:.33em;top:.55em;width:.3em;height:.19em;border-bottom:1.5px solid var(--potato-face);border-radius:0 0 60% 60%}.place-rating-choice:nth-child(even) .place-rating-potato{transform:rotate(7deg)}.place-rating-choice:nth-child(odd) .place-rating-potato{transform:rotate(-5deg)}.place-rating-choice small{color:#62523e;font-size:12px;line-height:1;font-weight:600}.place-rating-choice.selected{border-color:#bc8746;background:#fff5df}.place-rating-choice.selected .place-rating-potato,.place-rating-summary>.place-rating-potato{--potato-fill:#edbf78;--potato-shade:#d69c50;--potato-line:#98652f;--potato-face:#51331d;--potato-cheek:#efa486}.place-rating-choice.selected small{color:#684016;font-weight:800}.place-rating-choice:has(input:checked){border-color:#704519;box-shadow:0 0 0 1px #704519;background:#ffedc7}.place-rating-choice:focus-within{outline:3px solid #3578ab;outline-offset:3px}.place-rating-choice:has(input:disabled){cursor:wait;opacity:.65}.place-rating-choice input:disabled{cursor:wait}.place-rating-summary{display:flex;align-items:center;gap:.5rem}.place-rating-summary>.place-rating-potato{font-size:22px}.place-rating-summary>span:last-child{min-width:0;overflow-wrap:anywhere}@media(forced-colors:active){.place-rating-choice.selected{border-style:dashed}.place-rating-choice:has(input:checked){border:3px solid Highlight}.place-rating-choice:focus-within{outline-color:Highlight}.place-rating-potato{border-color:CanvasText}.place-rating-potato::before{background:CanvasText;box-shadow:.35em 0 0 CanvasText}.place-rating-potato::after{border-color:CanvasText}}.place-feedback>label,.place-feedback-dialog label{display:flex;gap:.5rem;align-items:flex-start}.place-feedback input[type=checkbox],.place-feedback-dialog input[type=checkbox]{flex-shrink:0;width:20px;height:20px}.place-feedback-dialog textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:100px}.place-feedback-dialog label:has(textarea),.place-feedback-dialog label:has(input[type=file]),.place-feedback-dialog label:has(input[type=date]){display:block}.place-feedback-dialog article{padding:1rem 0;border-bottom:1px solid #ccc;overflow-wrap:anywhere}.place-feedback-dialog article>p{white-space:pre-wrap}.place-feedback-dialog select{max-width:100%;min-height:44px}.place-feedback-dialog .housing-photo-canvas{touch-action:none;max-height:none;height:auto}.place-feedback-dialog header{position:sticky;top:0;background:var(--paper,#fff);z-index:1}.place-feedback-dialog button{min-height:44px;margin:.25rem}.place-feedback-dialog .housing-photo-preview{max-width:100%;height:auto}

/* Keep consent controls separate from full-width photo fields. */
.housing-photo-dialog .housing-photo-field{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0}
.housing-photo-dialog .housing-photo-field-label{min-width:0;overflow-wrap:anywhere}
.housing-photo-dialog .housing-photo-field>input:not([type=checkbox]),.housing-photo-dialog .housing-photo-field>select{width:100%;max-width:100%;min-width:0;margin:0;box-sizing:border-box}
.housing-photo-dialog .housing-photo-consent{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;min-height:44px;min-width:0;margin:8px 0;padding:10px 0;text-align:start;cursor:pointer}
.housing-photo-dialog .housing-photo-consent>input[type=checkbox]{display:block;grid-column:1;grid-row:1;width:20px;height:20px;min-width:20px;max-width:20px;min-height:0;max-height:20px;margin:0;padding:0;align-self:start;accent-color:var(--green)}
.housing-photo-dialog .housing-photo-consent-text{grid-column:2;grid-row:1;min-width:0;overflow-wrap:anywhere;line-height:1.6}

.housing-photo-card-preview:empty{display:none}.housing-photo-card-image{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:10px;background:#eef2ed}.housing-photo-card-status{font-size:.82rem;line-height:1.5;margin:6px 0;color:#506458}

.housing-roadview-dialog{width:min(94vw,800px)}.housing-roadview-canvas{width:100%;height:min(52vh,420px);min-height:260px}.housing-roadview-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}.housing-roadview-dialog p{font-size:.9rem;line-height:1.5}

/* ./experience.css */
/* Jjan-gamja: exploration first, exact and inspectable living-cost plans. */
.visit-minibar{max-width:1168px;margin:0 auto 12px;text-align:right}.visit-minibar button{display:inline-flex;align-items:center;gap:8px;min-height:36px;border:0;background:none;padding:3px 0;color:var(--muted);font-size:10px}.visit-minibar strong{color:var(--green);font-size:13px}.visit-minibar span{font-size:9px}.money-field-block{margin-bottom:15px}.money-field-block label{margin-bottom:0}.money-field-block .money-preview{font-size:11px}.money-field-block .money-input input{font-size:17px}@media(max-width:1220px){.visit-minibar{margin-left:32px;margin-right:32px}}@media(max-width:640px){.visit-minibar{margin-left:18px;margin-right:18px;text-align:left;margin-bottom:8px}}@media(max-width:900px){#toast{bottom:calc(90px + env(safe-area-inset-bottom))}}
:root{--surface:#fff;--soft-green:#edf4e8;--soft-amber:#fff7e1;--app-shadow:0 8px 28px #153b2810}
.bottom-nav{display:none}.nav-badge{position:absolute;top:5px;right:calc(50% - 28px);border-radius:12px;min-width:18px;padding:1px 4px;background:var(--green);color:#fff;font:700 10px/1.5 system-ui,sans-serif}
@media(max-width:900px){.bottom-nav{transform:translateY(0);transition:transform 180ms cubic-bezier(.2,.8,.2,1)}.bottom-nav.is-scroll-hidden{transform:translateY(100%);pointer-events:none}}
@media(prefers-reduced-motion:reduce){.bottom-nav{transition:none}}
.top-nav{gap:22px}.standalone[data-view="map"]{padding-top:12px}.standalone[data-view="map"]>.page-title{font-size:36px;letter-spacing:-.06em;margin:4px 0 22px}.compact-source-status{margin:12px 0 20px;color:var(--muted);font-size:12px}.compact-source-status>summary{cursor:pointer;min-height:36px}.compact-source-status .update-panel{margin:8px 0 0}
.explore-kinds{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;padding:5px 2px 12px}.explore-kinds::-webkit-scrollbar{display:none}.explore-kinds button{flex:none;display:flex;flex-direction:column;align-items:center;gap:7px;background:none;border:0;padding:0 3px;min-width:60px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.4;color:var(--muted)}.explore-kinds button>span{display:grid;place-items:center;width:60px;height:60px;border:1px solid var(--line);border-radius:21px;background:#fff;font-size:24px;transition:background .15s}.explore-kinds button[aria-pressed="true"]{color:var(--green)}.explore-kinds button[aria-pressed="true"]>span{background:#e9f2d9;border:2px solid var(--green)}
.place-card{box-shadow:var(--app-shadow);border-radius:20px;padding:20px;gap:0}.place-card>.card-tag{background:#edf3e7;border-radius:20px;font-size:11px;padding:4px 10px}.place-card h3{font-size:19px}.place-card .place-menu{background:#f2f6ed;padding:16px 14px;border-radius:13px;margin:4px 0 12px;align-items:center;gap:14px}.place-card .place-menu b{font-size:22px;letter-spacing:-.04em}.place-card .place-menu span{font-size:13px;font-weight:650}.place-card .place-budget-review{margin-top:12px;margin-bottom:8px}.place-card>.button{width:100%;min-height:44px}.place-card>.button:last-child{margin-top:0}.places-pagination button{min-height:44px}
.visit-panel-compact{max-width:1168px;margin:30px auto;padding:18px 22px;border-radius:18px}.visit-panel-compact h2{font-size:16px}.visit-panel-compact .visit-value strong{font-size:26px}.visit-panel-compact p{font-size:11px}
.monthly-budget{padding:30px;background:#f6f7f1;border:1px solid var(--line);border-radius:24px;margin-top:32px}.budget-section-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.budget-section-heading h2{font-size:29px;letter-spacing:-.05em;margin:5px 0}.budget-count{font-size:11px;background:white;border:1px solid var(--line);padding:7px 10px;border-radius:20px;white-space:nowrap}.budget-steps{display:flex;gap:12px;list-style:none;padding:0;counter-reset:step;margin:22px 0;font-size:12px;font-weight:700;flex-wrap:wrap}.budget-steps li:before{counter-increment:step;content:counter(step);display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;margin-right:6px}
.budget-scope{display:grid;grid-template-columns:1.3fr 1.2fr .7fr 1.4fr;gap:12px;align-items:end;padding:18px;background:#fff;border:1px solid var(--line);border-radius:16px}.budget-scope label{margin:0;font-size:11px}.budget-scope input,.budget-scope select{min-width:0;max-width:100%;font-size:13px}.budget-scope input[readonly]{background:#f4f6ef;color:var(--muted)}.budget-region-guide{font-size:11px;color:var(--muted);margin:10px 0 18px;line-height:1.8}.budget-notice{padding:12px 15px;border:1px solid #cad8c2;border-radius:12px;background:#eef5e8;font-size:12px;margin:15px 0}
.budget-workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:start}.budget-main{min-width:0}.budget-checklist,.budget-editor{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:20px}.budget-checklist h3,.budget-editor h3{font-size:17px;margin-bottom:10px}.budget-subheading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0}.budget-subheading h3{margin:0}.budget-subheading .text-button{min-height:44px}.budget-checklist>.subtle{margin-bottom:14px}.budget-coverage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:22px}.budget-meal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.budget-coverage{display:flex;flex-direction:column;gap:4px;text-align:left;border:1px dashed #cbd4c4;background:#fcfdf9;border-radius:12px;padding:11px;min-width:0;min-height:66px;overflow-wrap:anywhere}.budget-coverage strong{font-size:12px}.budget-coverage span{font-size:10px;font-weight:500;color:var(--muted)}.budget-coverage.is-known{border-style:solid;background:#edf5e7;border-color:#c8d8be}.budget-inclusion-details{margin-top:18px;font-size:12px}.budget-inclusion-details summary{cursor:pointer;min-height:36px}.budget-inclusion-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.budget-inclusion-grid label{font-size:11px;margin:0}.budget-inclusion-grid select{font-size:11px;padding:8px;min-width:0}
.budget-editor{scroll-margin-top:90px}.budget-source-note{padding:12px;background:#f4f6ef;border-radius:10px;font-size:11px;line-height:1.8;overflow-wrap:anywhere}.budget-classification{font-size:12px;color:var(--green);line-height:1.8}.budget-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.budget-form-grid label{font-size:12px;margin:0;min-width:0}.budget-form-grid input,.budget-form-grid select{min-width:0;font-size:13px;max-width:100%;min-height:46px}.budget-full{grid-column:1/-1}.money-input{display:flex;gap:8px}.money-input input{flex:1;width:0;font-size:22px;font-weight:750;letter-spacing:.01em}.money-input select{width:90px;flex:none}.money-preview{display:block;min-height:28px;font-size:13px;color:var(--green);padding-top:6px;line-height:1.7}.budget-frequency-shortcuts{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:15px}.budget-frequency-shortcuts>span{font-size:10px;color:var(--muted);width:100%}.budget-frequency-shortcuts .button{font-size:11px;padding:8px 11px;min-height:44px}.budget-checkbox{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.8;margin:17px 0}.budget-checkbox input{width:20px;min-width:20px;height:20px;min-height:20px;margin:3px 0 0}.budget-editor-actions{display:flex;gap:10px;margin-top:18px}.budget-editor-actions>.button{flex:1;min-width:0;font-size:12px}.budget-editor .subtle{font-size:11px;line-height:1.8}
.budget-summary{position:sticky;top:20px;background:#eaf1de;border:1px solid #d5dfc7;border-radius:20px;padding:25px;min-width:0}.budget-summary h3{font-size:16px;margin:12px 0 8px}.budget-total{font-size:30px;line-height:1.5;font-weight:850;color:var(--green);display:block;overflow-wrap:anywhere;letter-spacing:-.04em}.budget-summary #budget-total-won{font-size:11px;color:var(--muted);margin:8px 0 18px}.budget-summary .subtle{font-size:11px;line-height:1.8}.budget-missing{font-size:11px;line-height:1.9;padding-top:15px;border-top:1px solid #cedabf;margin-top:20px;color:#5b6753;overflow-wrap:anywhere}.budget-initial-total{font-size:12px;padding:13px 0;border-top:1px solid #cedabf;line-height:1.8}.budget-summary>.button{width:100%;font-size:12px}.budget-summary>.text-button{min-height:44px;display:block;margin:7px auto 0}
.budget-empty{background:#fff;border:1px dashed #cbd5c4;border-radius:18px;padding:30px;text-align:center;color:var(--muted);margin:15px 0}.budget-empty>span{font-size:32px}.budget-empty h3{font-size:17px;margin:8px 0}.budget-empty p{font-size:12px;margin:0}.budget-group{margin:15px 0 22px;background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden}.budget-group-heading{padding:15px 19px;background:#eef3e7;display:flex;justify-content:space-between;gap:15px;align-items:center}.budget-group-heading h3{font-size:14px;margin:0}.budget-group-heading>strong{font-size:14px;white-space:nowrap}.budget-item{padding:18px 19px;border-top:1px solid var(--line)}.budget-item-heading{display:flex;justify-content:space-between;gap:15px;align-items:start}.budget-item-heading h4{font-size:15px;margin:0;overflow-wrap:anywhere}.budget-item-heading>strong{font-size:16px;color:var(--green);text-align:right;flex-shrink:0}.budget-item-formula{font-size:11px;line-height:1.8;margin:7px 0;color:var(--muted)}.budget-item-source{font-size:11px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}.budget-item-source summary{cursor:pointer;min-height:30px}.budget-item-source p{margin:5px 0}.budget-item-actions{display:flex;justify-content:flex-end;gap:22px;margin-top:6px}.budget-item-actions button{min-width:44px;min-height:44px}#budget-items{scroll-margin-top:90px}
@media(max-width:900px){.top-nav{display:none}.site-header{min-height:76px;padding-top:14px;padding-bottom:14px}.bottom-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:fixed;z-index:90;bottom:0;left:0;right:0;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #dce2d5;background:#fffffff5;backdrop-filter:blur(16px)}.bottom-nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;font-size:10px;color:#7b8779;font-weight:650}.bottom-nav svg{width:23px;height:23px}.bottom-nav a.active{color:var(--green);font-weight:800}.bottom-nav a.active svg{stroke-width:2.4}body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.budget-workspace{grid-template-columns:1fr}.budget-summary{position:static}.budget-scope{grid-template-columns:1fr 1fr}.budget-workspace .budget-summary{grid-row:1}.visit-panel-compact{margin-left:24px;margin-right:24px}}
@media(max-width:640px){.site-header{padding-left:20px;padding-right:20px}.site-header .brand{font-size:22px}.site-header .brand img{width:34px;height:34px}.region-button{max-width:150px;font-size:11px;padding:7px 11px}main,footer{margin-left:18px;margin-right:18px}.standalone[data-view="map"]>.page-title{font-size:28px;margin-bottom:16px}.explore-kinds{gap:14px}.explore-kinds button{font-size:11px;min-width:53px}.explore-kinds button>span{width:53px;height:53px;border-radius:18px}.geo-toolbar{margin-top:10px}.compact-source-status{margin-bottom:10px}.map-modes{margin-top:12px}.places-grid{gap:15px}.place-card{padding:18px}.place-card .place-menu{padding:17px 14px}.place-card .place-menu b{font-size:25px}.monthly-budget{padding:15px;border-radius:20px}.budget-section-heading{display:block}.budget-count{display:inline-block;margin-top:12px}.budget-section-heading h2{font-size:25px}.budget-steps{gap:10px;font-size:10px;margin:18px 0}.budget-scope{padding:13px;gap:11px}.budget-scope input,.budget-scope select{font-size:12px;padding:10px 8px}.budget-checklist,.budget-editor{padding:15px}.budget-summary{padding:19px}.budget-total{font-size:28px}.budget-coverage{padding:10px 8px}.budget-coverage strong{font-size:11px}.budget-coverage span{font-size:10px}.budget-meal-grid{gap:6px}.budget-form-grid{gap:12px}.budget-inclusion-grid{grid-template-columns:1fr}.budget-group-heading,.budget-item{padding:14px}.budget-item-heading h4{font-size:14px}.budget-item-heading>strong{font-size:14px}.budget-subheading{flex-wrap:wrap}.budget-region-guide{font-size:10px}.visit-panel-compact{margin-left:18px;margin-right:18px}footer{padding-bottom:20px}.budget-item-formula{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.chat-panel{border:1px solid #d6dfcc;background:linear-gradient(135deg,#f0f5e8,#fafbf6);border-radius:22px;padding:22px;margin:0 0 25px;min-width:0}.chat-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.chat-heading h2{font-size:23px;letter-spacing:-.045em;margin:4px 0 10px}.chat-heading h2>span{font-size:25px}.chat-heading .eyebrow{font-size:10px}.chat-heading>.text-button{font-size:10px;min-height:44px;flex-shrink:0}.chat-intro{font-size:13px;color:#58644f;line-height:1.8;margin:0 0 15px}.chat-composer{display:flex;gap:8px}.chat-composer input{flex:1;width:0;min-width:0;min-height:52px;background:#fff;border-radius:14px;font-size:13px}.chat-composer>.button{flex:none;min-width:74px;min-height:52px;padding:10px 16px;border-radius:14px}.chat-examples{display:flex;gap:7px;overflow-x:auto;padding:10px 0 4px;scrollbar-width:thin}.chat-examples button{flex:none;white-space:nowrap;font-family:inherit;font-size:10px;font-weight:600;line-height:1.5;border:1px solid #d5dfca;border-radius:22px;padding:9px 11px;background:#fff;color:var(--green);min-height:38px}.chat-privacy{font-size:10px;color:var(--muted);line-height:1.8;margin:10px 0 0}.chat-status{font-size:12px;line-height:1.8;color:var(--green);margin:10px 0 0;overflow-wrap:anywhere}.chat-status:empty{display:none}.chat-log{display:flex;flex-direction:column;gap:9px;margin-top:18px}.chat-bubble{max-width:92%;margin:0;padding:12px 15px;border-radius:16px;font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.chat-bubble.user{align-self:flex-end;background:var(--green);color:white;border-bottom-right-radius:4px}.chat-bubble.assistant{align-self:flex-start;background:white;border:1px solid var(--line);border-bottom-left-radius:4px}.chat-conditions{padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff;margin-top:18px}.chat-conditions h3,.chat-result-heading h3{font-size:18px;margin:0 0 8px}.chat-basis{font-size:11px;line-height:1.85;color:var(--muted);overflow-wrap:anywhere}.chat-scope{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.chat-scope label,.chat-item-edit label,.chat-offer-card>label{display:flex;flex-direction:column;gap:6px;font-size:11px;margin:0;min-width:0}.chat-panel input,.chat-panel select{max-width:100%;min-width:0;font-size:13px;min-height:46px}.chat-panel input[readonly]{background:#f1f4eb;color:var(--muted)}.chat-item-edits{display:grid;gap:12px}.chat-item-edit{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px;border:1px solid #dde3d4;border-radius:13px;min-width:0}.chat-item-edit>legend{padding:0 6px;font-size:11px;font-weight:750;color:var(--green)}.chat-item-edit>label:first-of-type{grid-column:1/-1}.chat-item-edit>.text-button{justify-self:end;grid-column:1/-1;font-size:11px;min-height:36px}.chat-form-actions{display:flex;align-items:start;flex-direction:column;gap:12px;margin-top:10px}.chat-form-actions>.button{width:100%;min-height:48px}.chat-check{display:flex;align-items:start;gap:9px;font-size:11px;line-height:1.85;cursor:pointer;margin:12px 0}.chat-check>input{width:19px!important;min-width:19px!important;height:19px;min-height:19px!important;flex:none;margin:3px 0 0}.chat-results{margin-top:20px}.chat-results:empty{display:none}.chat-result-heading>p{font-size:11px;line-height:1.8;color:var(--muted)}.chat-offer-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;margin:14px 0}.chat-offer-card h4{font-size:20px;margin:0 0 12px}.chat-offer-card>label{margin-bottom:12px}.chat-offer-card>p{font-size:12px;line-height:1.8}.chat-offer-meta{font-size:10px!important;color:var(--muted);line-height:1.85}.chat-item-cost{display:block;font-size:16px;color:var(--green);margin:13px 0}.chat-shop-list{list-style:none;padding:0;margin:12px 0}.chat-shop-list li{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);padding:12px 0;font-size:13px}.chat-shop-list li>span{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.chat-shop-list .text-button{align-self:start;font-size:11px;min-height:38px}.chat-rotation{margin-top:14px;font-size:11px;line-height:1.9;overflow-wrap:anywhere}.chat-rotation summary{min-height:38px;cursor:pointer;color:var(--green);font-weight:750}.chat-rotation ol{padding-left:20px}.chat-cost-summary{background:#e8f0dc;border:1px solid #cedbbf;border-radius:16px;padding:20px;margin:18px 0}.chat-cost-summary h3{font-size:18px;margin:0 0 12px}.chat-total{display:block;font-size:27px;color:var(--green);margin:13px 0;overflow-wrap:anywhere}.chat-cost-summary>p{font-size:11px;line-height:1.9}.chat-cost-summary>.button{width:100%;min-height:48px}.chat-cost-summary>.text-button{display:block;text-align:center;padding-top:10px;font-size:12px;min-height:42px}.chat-map-banner{background:#eef5e5;border:1px solid #d2dfc6;border-radius:14px;padding:13px 16px;margin:15px 0;font-size:11px;line-height:1.9;overflow-wrap:anywhere}.chat-map-banner p{margin:0}.chat-map-banner button{font-size:11px;min-height:38px}
@media(max-width:640px){.chat-panel{padding:16px;border-radius:18px}.chat-heading h2{font-size:20px}.chat-heading>.text-button{font-size:10px}.chat-intro{font-size:11px}.chat-composer input{font-size:12px;padding:12px}.chat-composer>.button{min-width:65px;padding:10px 12px;font-size:12px}.chat-conditions{padding:13px}.chat-scope,.chat-item-edit{gap:10px}.chat-item-edit{padding:12px}.chat-panel select,.chat-panel input{font-size:12px;padding:10px 8px}.chat-offer-card{padding:15px}.chat-cost-summary{padding:16px}.chat-bubble{font-size:11px;max-width:96%}.chat-item-cost{font-size:14px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#housing-guide{scroll-margin-top:90px}#housing-guide:focus{outline:2px solid #669551;outline-offset:5px}
.housing-tabs{display:flex;gap:7px;margin:18px 0;overflow-x:auto;padding:2px}.housing-tabs button{flex:1;min-width:100px;min-height:48px;border:1px solid #ccd8c1;border-radius:13px;background:#fff;font:700 12px/1.5 system-ui,sans-serif;color:var(--green);padding:10px}.housing-tabs button[aria-selected="true"]{background:var(--green);color:white;border-color:var(--green)}.housing-scope-note{font-size:12px!important;line-height:1.85!important;max-width:900px}.housing-source-dates{font-size:10px!important;line-height:1.9!important;color:var(--muted);overflow-wrap:anywhere}.housing-pane h3{font-size:20px;margin:20px 0 10px}.housing-filters{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin:17px 0}.housing-filters label{font-size:11px;min-width:0}.housing-filters input,.housing-filters select{font-size:12px;min-height:46px;min-width:0;max-width:100%}.housing-search{grid-column:1/-1}.housing-count{font-size:12px!important;font-weight:700;color:var(--green)}.housing-info-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.housing-info-card{padding:18px;border:1px solid #d6dfcc;background:#fff;border-radius:15px;min-width:0;overflow-wrap:anywhere}.housing-info-card h3{font-size:17px;margin:11px 0 9px;line-height:1.7}.housing-info-card p{font-size:12px;line-height:1.85;margin:7px 0}.housing-data-tag{font-size:10px;color:var(--green);background:#edf4e5;border-radius:14px;padding:5px 9px;display:inline-block}.housing-card-meta{font-size:10px!important;color:var(--muted)}.housing-info-card .text-button{font-size:11px;display:inline-block;padding-top:8px;min-height:44px}.housing-paging{display:flex;justify-content:center;gap:12px;margin:18px 0}.housing-paging button{min-height:46px}.housing-more-sources{margin-top:20px;font-size:12px;line-height:1.9}.housing-more-sources summary{cursor:pointer;min-height:40px}.housing-more-sources p{font-size:11px;line-height:1.9}.housing-pane{scroll-margin-top:90px}#housing-price-content{scroll-margin-top:90px}
@media(max-width:640px){.housing-tabs{gap:5px}.housing-tabs button{min-width:88px;font-size:11px;padding:9px 7px}.housing-info-list{grid-template-columns:1fr}.housing-filters{gap:9px;grid-template-columns:1fr}.housing-filters label{grid-column:auto}.housing-info-card{padding:16px}.housing-pane h3{font-size:18px}.housing-info-card h3{font-size:16px}.housing-scope-note{font-size:11px!important}.housing-paging button{font-size:11px}}
.experience-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 18px}.experience-controls>div{display:flex;padding:4px;border:1px solid var(--line);border-radius:30px;background:#fff;flex:none}.experience-controls button{border:0;border-radius:24px;background:transparent;padding:10px 17px;min-height:44px;font-family:inherit;font-size:12px;font-weight:700;color:var(--green)}.experience-controls button[aria-pressed="true"]{background:var(--green);color:white}.experience-controls p{font-size:11px;color:var(--muted);line-height:1.8}.progressive-details{border:1px solid var(--line);border-radius:16px;background:#fff;margin:14px 0;padding:0 16px;min-width:0}.progressive-details>summary{padding:16px 0;min-height:50px;cursor:pointer;font-size:13px;font-weight:700;color:var(--green);overflow-wrap:anywhere}.progressive-details[open]>summary{border-bottom:1px solid var(--line);margin-bottom:14px}.progressive-details .budget-scope{margin-top:12px}.explore-tool{margin:20px 0}.explore-tool>.chat-panel{margin-top:14px}.explore-feed{padding:12px 0 22px}.explore-feed-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}.explore-feed-heading h2{font-size:25px;letter-spacing:-.05em;margin:8px 0}.explore-feed-heading label{max-width:190px;font-size:11px;margin:0;flex-shrink:0}.explore-feed-heading select{font-size:12px;min-height:44px;background:#fff}#explore-status{font-size:12px;line-height:1.9;color:var(--muted);max-width:800px}.explore-feed-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px;align-items:start}.explore-card{border:1px solid #d9e2d1;background:white;border-radius:21px;box-shadow:0 4px 20px #20432b06;padding:22px;min-width:0;overflow-wrap:anywhere}.explore-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.explore-purpose{font-size:11px;font-weight:700;color:var(--green);background:#eef4e6;padding:6px 10px;border-radius:20px}.explore-district{font-size:11px;color:var(--muted)}.explore-card-price{padding:22px 0 16px}.explore-card-price h3{font-size:18px;line-height:1.7;margin:0 0 4px}.explore-card-price strong{font-size:31px;font-weight:850;letter-spacing:-.04em;color:var(--green)}.explore-shop{font-size:14px;font-weight:700;margin:7px 0}.explore-address{font-size:11px;line-height:1.8;color:var(--muted);margin:6px 0}.explore-basis{font-size:10px;line-height:1.8;color:var(--muted);margin:12px 0 15px}.explore-chooser{border-top:1px solid var(--line);padding-top:4px}.explore-chooser>summary{min-height:50px;padding:15px 0;font-size:12px;color:var(--green);font-weight:750;cursor:pointer}.explore-chooser label{font-size:11px;margin:10px 0}.explore-chooser input{min-height:44px;min-width:0;max-width:100%}.explore-chooser .progressive-details{padding:0 12px}.explore-chooser .progressive-details>summary{font-size:11px;min-height:44px;padding:13px 0}.explore-chooser .button{width:100%;min-height:46px;font-size:12px}.explore-assumption{font-size:10px;color:var(--muted);line-height:1.85;margin:10px 0}.explore-shortcuts{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.explore-shortcuts>span{flex-basis:100%;font-size:11px}.explore-shortcuts button{font-family:inherit;font-size:11px;color:var(--green);background:#fff;border:1px solid #cdd9c5;border-radius:10px;min-height:44px;padding:9px 12px}.explore-shortcuts button[aria-pressed="true"]{background:#e3efda;border-color:var(--green);font-weight:750}.explore-forecast{display:block;color:var(--green);font-size:14px;font-weight:750;line-height:1.9;margin:15px 0}.explore-unit-confirm{display:flex!important;align-items:start;gap:8px;line-height:1.9;color:#52604d}.explore-unit-confirm input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin-top:4px;accent-color:var(--green)}.explore-card-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.explore-card-actions .text-button{font-size:10px;min-height:44px;padding:10px 0}.explore-feed-footer{text-align:center;padding:22px 0 5px}.explore-feed-footer>span{display:block;height:1px}#explore-feed-heading,#budget-editor{scroll-margin-top:90px}
@media(max-width:1000px){.explore-feed-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.experience-controls{display:block}.experience-controls>div{display:inline-flex}.experience-controls p{font-size:10px;margin:8px 0}.explore-feed-heading{align-items:start;gap:10px}.explore-feed-heading h2{font-size:21px}.explore-feed-heading label{max-width:120px;font-size:10px}.explore-feed-heading select{padding:9px 8px;font-size:11px}.explore-feed-list{grid-template-columns:1fr;gap:16px}.explore-card{padding:22px}.explore-card-price{padding-top:18px}.explore-card-price strong{font-size:34px}#explore-status{font-size:11px}.progressive-details{padding:0 12px}.progressive-details>summary{font-size:12px}.explore-tool>.chat-panel{padding:14px}.explore-tool .geo-toolbar{flex-wrap:wrap}}
.operator-card{margin:28px 0 8px;padding:26px 28px;border:1px solid var(--line);border-radius:20px;background:#f1f4eb;display:flex;align-items:start;justify-content:space-between;gap:24px}.operator-card h2{font-size:20px;margin:7px 0;letter-spacing:-.04em}.operator-card dl{display:flex;gap:32px;flex-wrap:wrap;margin:0}.operator-card dt{font-size:11px;color:var(--muted);margin-bottom:6px}.operator-card dd{font-size:14px;margin:0;line-height:1.9;overflow-wrap:anywhere}.operator-card a{color:var(--green);display:inline-block;min-height:44px;padding:0 0 8px;text-decoration:underline;text-underline-offset:4px}@media(max-width:640px){.operator-card{display:block;padding:21px}.operator-card dl{gap:20px;margin-top:20px}.operator-card dd{font-size:13px}}
.map-exploration{--explore-map-height:clamp(150px,30svh,300px);min-width:0}.map-sticky{position:sticky;top:env(safe-area-inset-top,0px);z-index:70;border:1px solid #d1ddc7;border-radius:18px;background:#fff;box-shadow:0 8px 28px #193c3020;isolation:isolate;margin:10px 0 18px}.map-sticky-head{display:flex;align-items:center;gap:12px;padding:9px 14px;background:#fff;border-radius:18px 18px 0 0}.map-sticky-head>div{min-width:0;flex:1}.map-sticky-head strong{display:block;font-size:14px;color:var(--green)}.map-sticky-head span{display:block;font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-sticky-head .button{padding:9px 12px;min-height:44px;font-size:11px;flex:none}.map-sticky-head .text-button{min-height:44px;flex:none;font-size:10px}.map-sticky .map-canvas-wrap,.map-sticky #area-map,.map-sticky .map-placeholder{height:var(--explore-map-height);min-height:0;max-height:none}.map-sticky .map-canvas-wrap{overflow:hidden}.map-sticky .map-placeholder{padding:20px}.map-sticky .map-placeholder h2{font-size:17px}.map-sticky .map-status{font-size:10px;line-height:1.6;padding:7px 12px;margin:0;max-height:46px;overflow:auto;border-radius:0 0 18px 18px}.map-exploration #explore-feed-heading,.map-exploration #place-selection,.map-exploration #place-list-title{scroll-margin-top:calc(var(--explore-map-height) + 125px)}.map-exploration .explore-feed-heading h2{font-size:23px}.explore-districts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:16px 0}.district-choice{text-align:left;border:1px solid #d7dfcf;border-radius:14px;background:#fff;padding:13px 15px;min-height:66px;color:var(--green)}.district-choice strong,.district-choice span{display:block}.district-choice strong{font-size:13px}.district-choice span{font-size:10px;color:var(--muted);margin-top:4px}.district-choice:hover{background:#edf3e5}.explore-distance{font-size:11px;color:var(--green)}.budget-storage-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.budget-storage-actions .button{font-size:11px;min-height:44px}.map-exploration .explore-kinds{margin:12px 0 8px}#map-filter-details>.price-focus-control{margin-top:18px;border-top:1px solid var(--line)}@media(max-width:640px){.map-exploration{--explore-map-height:clamp(150px,29svh,270px)}.map-sticky-head{padding:7px 10px;gap:7px}.map-sticky-head strong{font-size:12px}.map-sticky-head span{font-size:9px;max-width:160px}.map-sticky-head .button{padding:8px;font-size:10px}.map-sticky-head .text-button{font-size:9px}.explore-districts{grid-template-columns:repeat(2,minmax(0,1fr))}.district-choice{padding:11px}.map-exploration .explore-feed-heading{display:block}.map-exploration .explore-feed-heading label{max-width:none;margin-top:12px}}@media(max-height:540px){.map-exploration{--explore-map-height:120px}}
.map-location-line{display:flex;align-items:center;gap:10px;padding:0 12px;background:#f0f5e9}.map-location-line .location-status{flex:1;min-width:0;font-size:11px;line-height:1.7;margin:0;padding:8px 0;overflow-wrap:anywhere}.map-location-line .location-status[data-state="error"]{color:#8b3525}.map-location-line .text-button{flex:none;min-height:44px;font-size:11px}.location-help{padding:16px 18px;border:1px solid #e1c890;border-radius:14px;background:#fff7e5;margin:14px 0;font-size:12px;line-height:1.85;overflow-wrap:anywhere}.location-help>strong{color:#714b1d}.location-help p{margin:8px 0;color:#6d6249}.location-help>div{display:flex;gap:8px;flex-wrap:wrap}.location-help .button{min-height:44px;font-size:11px;padding:10px 13px}#locate-me[aria-busy="true"]{opacity:1;background:#526f56}
.map-exploration{--explore-map-height:clamp(240px,40svh,400px)}
.map-sticky-head{padding:3px 10px}
.map-sticky>.price-focus-control{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;column-gap:12px;padding:2px 12px;border-top:1px solid var(--line);background:#fbfcf7}
.map-sticky .price-focus-heading{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-end;flex-wrap:nowrap;gap:1px}
.map-sticky .price-focus-heading label{font-size:9px;line-height:1.3;margin:0}
.map-sticky .price-focus-heading output{font-size:12px;line-height:1.3}
.map-sticky .price-focus-control input[type="range"]{grid-column:1;grid-row:1;min-width:0;width:100%;height:44px;min-height:44px;margin:0}
.map-sticky .price-focus-control input[type="range"]::-webkit-slider-runnable-track{height:6px}
.map-sticky .price-focus-control input[type="range"]::-webkit-slider-thumb{width:30px;height:34px;margin-top:-14px;border:0;border-radius:0;background-color:transparent;box-shadow:none;filter:none}
.map-sticky .price-focus-control input[type="range"]::-moz-range-track{height:6px}
.map-sticky .price-focus-control input[type="range"]::-moz-range-thumb{width:30px;height:34px;border:0;border-radius:0;background-color:transparent;box-shadow:none;filter:none}
.map-sticky .price-focus-labels{display:none}
.map-sticky .map-status{min-height:0;max-height:none;overflow:visible;font-size:10px;line-height:1.4;padding:4px 10px}
.map-exploration #explore-feed-heading,.map-exploration #place-selection,.map-exploration #place-list-title{scroll-margin-top:calc(var(--explore-map-height) + 140px)}
@media(max-width:640px){.map-exploration{--explore-map-height:clamp(210px,36svh,330px)}}
@media(max-height:540px){.map-exploration{--explore-map-height:clamp(180px,55svh,280px)}.map-sticky{position:static}.map-exploration #explore-feed-heading,.map-exploration #place-selection,.map-exploration #place-list-title{scroll-margin-top:20px}}
.tab-swipe-cue{position:fixed;z-index:95;bottom:calc(94px + env(safe-area-inset-bottom));right:14px;max-width:calc(100vw - 28px);border:1px solid #c8d8bd;border-radius:30px;background:#f9fcf3f5;color:var(--green);padding:10px 16px;font-size:14px;font-weight:750;pointer-events:none;box-shadow:0 4px 18px #23492e16;opacity:var(--swipe-progress,.5)}
.tab-swipe-cue[data-direction="previous"]{left:14px;right:auto}

.visit-minibar{display:flex;justify-content:flex-end;gap:8px 22px;flex-wrap:wrap}.visit-minibar button{flex-wrap:wrap}.member-count-value h3{font-size:13px;margin:0 0 5px;color:var(--muted)}.visit-panel-compact{grid-template-columns:1fr auto auto}.member-count-value{padding-left:22px;border-left:1px solid var(--line)}
@media(max-width:640px){.visit-minibar{justify-content:flex-start;gap:3px 16px}.visit-minibar button{gap:5px}.visit-minibar span{font-size:8px}.visit-panel-compact{grid-template-columns:1fr 1fr}.visit-panel-compact>div:first-child{grid-column:1/-1}.member-count-value{padding-left:15px}.visit-panel-compact .visit-value strong{font-size:23px}}
@media(max-width:640px){.visit-minibar{flex-wrap:nowrap}.visit-minibar button{min-width:0;flex:1 1 0;justify-content:flex-start;align-content:center}.visit-minibar button>span{flex-basis:100%}}#explore-status:empty{display:none}.map-data-guide{margin:8px 0 14px;padding:0 12px;background:transparent;border:1px solid var(--line);border-radius:12px}.map-data-guide>summary{padding:10px 0;min-height:44px;font-size:11px;color:var(--muted);cursor:pointer}.map-data-guide[open]{padding-bottom:12px}.map-data-guide p{font-size:11px;line-height:1.8}

/* Keep the selected list heading clear of the cluster key in the sticky map. */
.map-exploration #explore-feed-heading,.map-exploration #place-selection,.map-exploration #place-list-title,.map-exploration #selected-group-bar{scroll-margin-top:calc(var(--explore-map-height) + 155px)}

/* Budget journey: plan first, optional completeness and actual receipts separately. */
.monthly-budget>.budget-summary{position:static;margin:14px 0;padding:20px;background:#edf4e5}
.monthly-budget>.budget-summary .budget-total{font-size:clamp(25px,5vw,36px)}
.budget-calculation-details{margin:12px 0;font-size:12px}.budget-calculation-details>summary,.budget-extra>summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:750;color:var(--green)}
.budget-quick-add{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.budget-quick-add>*{flex:1;min-width:140px;text-align:center}
.monthly-budget>.budget-workspace{display:block;margin-top:20px}.budget-extra{border-top:1px solid var(--line);padding:0 10px}.budget-extra .budget-checklist{border:0;padding:10px 0}
.budget-save-state{font-size:12px;font-weight:800;color:var(--green);margin:8px 0}.budget-confirm{padding:12px;border:1px solid #cfad68;border-radius:12px;background:#fff8e8}.budget-confirm button{min-height:44px;margin:4px}
.budget-saved-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:#edf4e5;margin:16px 0 24px}.budget-saved-card h2{font-size:20px}.budget-saved-card .text-button{margin-left:12px;display:inline-block;min-height:44px;padding-top:10px}.budget-saved-card p{overflow-wrap:anywhere}
.explore-added-feedback{padding:12px;background:#e8f3df;color:var(--green);font-size:13px;font-weight:750;line-height:1.8;border-radius:12px}
.budget-live-summary{display:none}.map-sheet-budget-total{display:none}
.map-shell-active[data-map-shell-view="map"] .budget-live-summary{display:flex;flex:0 0 auto;gap:8px;align-items:center;flex-wrap:wrap;background:#f0f6e9;border-top:1px solid #cfdec3;padding:8px 14px;min-width:0}
.budget-live-summary>a{display:grid;gap:2px;min-height:44px;flex:1;min-width:110px;color:#174b37;text-decoration:none}.budget-live-summary>a>span,.budget-live-summary small{font-size:10px;line-height:1.3}.budget-live-summary strong{font-size:18px;line-height:1.25;overflow-wrap:anywhere}.budget-live-actions{display:flex;gap:8px;align-items:center}.budget-live-actions button{min-height:44px;font-size:11px;padding:8px}.budget-live-summary p{flex-basis:100%;margin:0;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.map-shell-active .map-content-sheet[data-state="min"] .budget-live-summary{display:none}
.map-shell-active[data-map-shell-view="map"] .map-content-sheet[data-state="min"] .map-sheet-budget-total{display:inline;font-size:12px;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:640px){.budget-live-summary strong{font-size:16px}.map-shell-active[data-map-shell-view="map"] .budget-live-summary{padding:6px 10px}.budget-live-actions{gap:4px}.monthly-budget>.budget-summary{padding:16px}.budget-storage-actions button{flex:1}.budget-saved-card{padding:16px}}
/* On short zoomed/keyboard viewports keep controls and content usable, no overlay. */
@media(max-height:440px){.map-shell-active[data-map-shell-view="map"] .budget-live-summary{display:none}.map-shell-active[data-map-shell-view="map"] .map-sheet-budget-total{display:inline;font-size:11px;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.map-shell-keyboard .budget-live-summary p,.map-shell-keyboard #budget-live-undo{display:none}

.housing-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.housing-info-button{flex:0 0 32px;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#667261;font:20px/1 system-ui;cursor:pointer}.housing-info-button:focus-visible{outline:2px solid #426044;outline-offset:2px}.housing-info-tooltip{position:fixed;z-index:10000;box-sizing:border-box;padding:10px 12px;border:1px solid #cfd8c9;border-radius:10px;background:#fff;color:#3d4938;font:12px/1.6 system-ui;box-shadow:0 4px 18px #15251b26;overflow-wrap:anywhere;pointer-events:none}

.service-info-slot{display:inline-flex;vertical-align:middle}.service-info-popup p{margin:0 0 8px}.service-info-popup p:last-child{margin-bottom:0}.service-info-popup a{display:block;margin:6px 0}.service-info-popup .source-notice{display:block;padding:0;border:0;background:none}

.housing-card-price{font-weight:700;margin:8px 0 4px}.housing-card-phone{display:block;width:fit-content;margin:4px 0 10px;color:inherit;overflow-wrap:anywhere}.housing-info-tooltip a{display:block;margin-top:8px;text-decoration:underline}

/* Housing cards follow their panel width, not the whole PC viewport. */
.housing-pane{container-type:inline-size}
@container (max-width:600px){.housing-info-list{grid-template-columns:1fr}}

/* News stays inside the existing 30% panel; no change to map or sheet geometry. */
.news-pane{min-width:0}.news-controls{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:12px 0}.news-controls label{display:grid;gap:4px;font-size:12px}.news-controls select{max-width:150px;padding:8px;border:1px solid #ccd8c3;border-radius:9px;background:white}.news-info{margin-left:auto;font-size:12px;max-width:100%}.news-info summary{cursor:pointer}.news-list{display:grid;gap:18px}.news-card{min-width:0;padding:14px;border:1px solid #dce2d5;background:#fff;border-radius:16px;overflow-wrap:anywhere}.news-meta{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#667460}.news-card h2{font-size:17px;line-height:1.45;margin:10px 0}.news-body{white-space:pre-wrap;font-size:13px;line-height:1.65;margin:8px 0}.news-video,.news-image{display:block;width:100%;max-height:540px;object-fit:contain;background:#152213;border-radius:10px;margin:12px 0}.news-video{aspect-ratio:9/16}.news-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.news-source{font-size:12px;font-weight:700}.news-media-hint{font-size:11px;color:#65715f}.news-embed{width:100%;height:450px;border:0;border-radius:10px;background:white}.news-embed-box{margin-top:12px}#news-more{width:100%;margin-bottom:16px}
@media(max-width:900px){.bottom-nav{grid-template-columns:repeat(7,minmax(0,1fr));padding-left:4px;padding-right:4px}.bottom-nav a{min-width:0}.news-card{padding:12px}}

/* Selected housing is separate from clustered buildings and remains visible. */
.housing-location-pin{background:none;border:0;z-index:9000!important;overflow:visible!important}.housing-location-pin:focus-visible{outline:3px solid #155b45;outline-offset:5px;border-radius:24px}.housing-location-visual{position:relative;display:block;width:96px;height:112px;pointer-events:auto}.housing-location-visual .housing-location-art{position:absolute;left:20px;top:10px;transform:scale(1.35);transform-origin:50% 55px;filter:drop-shadow(0 5px 7px #12372955)}.housing-location-visual .housing-facility-house-disc{background:#fff5cf;border:3px solid #a46518;box-shadow:0 0 0 4px #fff,0 0 0 8px #edb55099}.housing-location-visual .housing-facility-count{display:none}.housing-location-halo{position:absolute;left:10px;top:4px;width:76px;height:76px;border-radius:50%;background:#f5cb633b;border:3px solid #d59b2b;box-shadow:0 0 0 8px #f9db8170;animation:housing-location-reveal .6s ease-out 1}.housing-location-label{position:absolute;left:50%;bottom:105px;transform:translateX(-50%);display:grid;gap:2px;width:max-content;max-width:min(210px,65vw);box-sizing:border-box;padding:8px 12px;border:2px solid #9b671e;border-radius:15px;background:#fffdf2;color:#3b341f;box-shadow:0 4px 10px #1a321c33;text-align:center;white-space:normal;overflow-wrap:anywhere;font:700 13px/1.35 system-ui,sans-serif}.housing-location-label:after{content:"";position:absolute;left:calc(50% - 5px);bottom:-7px;width:10px;height:10px;transform:rotate(45deg);background:#fffdf2;border-right:2px solid #9b671e;border-bottom:2px solid #9b671e}.housing-location-label small{font-size:10px;font-weight:500;color:#6d6248}@keyframes housing-location-reveal{from{transform:scale(.65);opacity:.3}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.housing-location-halo{animation:none}}

.place-card-location{cursor:pointer}.place-card-location:focus-visible{outline:3px solid #155b45;outline-offset:4px}.place-location-pin{background:none;border:0;z-index:8500!important;overflow:visible!important}.place-location-pin:focus-visible{outline:3px solid #155b45;outline-offset:5px;border-radius:24px}.place-location-visual{position:relative;display:block;width:96px;height:112px}.place-location-face{position:absolute;left:14px;top:3px;display:block;width:68px;height:82px;filter:drop-shadow(0 5px 7px #12372955)}.place-location-face svg{display:block;width:68px;height:82px}

.housing-location-visual .housing-location-mascot,.place-location-visual .place-location-mascot{position:absolute;left:8px;top:0;display:block;width:80px;height:88px;object-fit:contain;transform:none;filter:drop-shadow(0 5px 7px #12372955)}
/* Public housing announcement details: scoped, no source-data changes. */
.housing-announcement-details{min-width:0;margin-top:16px;padding-top:16px;border-top:1px solid var(--line,#dce4d6);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.65;text-align:left;overflow-wrap:anywhere}
.housing-announcement-details .housing-detail-fields{display:grid;grid-template-columns:minmax(80px,.85fr) minmax(0,2fr);gap:0;margin:0 0 16px;padding:0;border:1px solid var(--line,#dce4d6);border-radius:12px;overflow:hidden;background:#fff}
.housing-announcement-details .housing-detail-fields>dt,.housing-announcement-details .housing-detail-fields>dd{min-width:0;margin:0;padding:10px 12px;border-bottom:1px solid var(--line,#dce4d6);font-size:14px;line-height:1.65;word-break:normal;overflow-wrap:anywhere}
.housing-announcement-details .housing-detail-fields>dt{background:#f4f7ef;color:#536448;font-weight:650;word-break:keep-all}
.housing-announcement-details .housing-detail-fields>dd{color:#233c2b;font-weight:400;font-variant-numeric:tabular-nums}
.housing-announcement-details .housing-detail-fields>dt:nth-last-child(2),.housing-announcement-details .housing-detail-fields>dd:last-child{border-bottom:0}
.housing-announcement-details details{min-width:0;margin:10px 0;padding:0 12px;border:1px solid var(--line,#dce4d6);border-radius:12px;background:#fff}
.housing-announcement-details summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px;font-weight:650;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.housing-announcement-details details[open]>summary{margin-bottom:12px;border-bottom:1px solid var(--line,#dce4d6)}
.housing-announcement-details p,.housing-announcement-details li{font-size:14px;line-height:1.75;word-break:normal;overflow-wrap:anywhere}
.housing-announcement-details .housing-note{font-size:12px;line-height:1.7;color:#536448}
.housing-announcement-details table{border-collapse:collapse;width:100%;margin:0 0 12px;font-size:13px;line-height:1.6;text-align:left}
.housing-announcement-details td{min-width:80px;padding:9px 10px;border:1px solid var(--line,#dce4d6);vertical-align:top;overflow-wrap:anywhere}
.housing-announcement-details tr:first-child{background:#f4f7ef}
.housing-announcement-details pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}
.housing-announcement-details a{overflow-wrap:anywhere}
@media(max-width:380px){.housing-announcement-details .housing-detail-fields{grid-template-columns:minmax(72px,.85fr) minmax(0,2fr)}.housing-announcement-details .housing-detail-fields>dt,.housing-announcement-details .housing-detail-fields>dd{padding:9px 8px;font-size:13px}}

/* ./tools.css */
/* Calm, shareable utilities, separate from the map's sticky workspace. */
.tools-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:30px 0}.tools-hero .page-title{font-size:clamp(30px,5vw,48px);letter-spacing:-.06em;margin:6px 0 12px}.tools-hero p{max-width:610px;line-height:1.8}.tools-hero>img{width:100px;height:100px;background:#ecf2df;padding:18px;border-radius:32px}.tools-trust{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.tools-trust span{border:1px solid var(--line);border-radius:24px;background:white;padding:6px 12px;font-size:11px;color:var(--green)}.tool-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tool-filters button{min-height:44px;border:1px solid var(--line);border-radius:24px;background:white;padding:9px 17px;color:var(--ink);font:600 12px/1.4 inherit}.tool-filters [aria-pressed="true"]{color:white;background:var(--green);border-color:var(--green)}.tools-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tool-card{display:block;background:#fff;border:1px solid var(--line);border-radius:21px;padding:22px;color:var(--ink);text-decoration:none;min-width:0;transition:border-color .15s,transform .15s}.tool-card:hover{border-color:var(--green);transform:translateY(-2px)}.tool-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.tool-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:#eef4e3;color:var(--green);font-size:26px;font-weight:800}.tool-tag{font-size:10px;color:var(--muted)}.tool-card h2{font-size:18px;margin:16px 0 8px}.tool-card p{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 14px}.tool-card small{font-size:10px;color:var(--green)}.tool-card[hidden],.tool-pane[hidden]{display:none}.tool-pane{margin-top:28px;border:1px solid var(--line);border-radius:24px;background:white;padding:30px;scroll-margin-top:90px;min-width:0;overflow-wrap:anywhere}.tool-pane h2{font-size:26px;letter-spacing:-.04em;margin:5px 0 8px}.tool-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:22px 0}.tool-field{min-width:0}.tool-field>label{font-size:12px;font-weight:700;margin:0 0 6px;display:block}.tool-field input,.tool-field select{min-width:0;max-width:100%;min-height:46px;font-size:16px}.tool-field small{display:block;margin-top:6px;font-size:11px;line-height:1.7}.tool-field .money-input{display:flex;gap:6px}.tool-field .money-input input{flex:1;width:0}.tool-field .money-input select{width:83px;flex:none;padding:10px}.tool-field .money-preview{display:block;font-size:11px;min-height:20px;margin-top:6px;color:var(--green)}.tool-note{font-size:12px;line-height:1.8;color:var(--muted);margin:14px 0}.tool-form>.button{min-height:46px}.tool-result{background:#f1f6e9;border-radius:18px;padding:22px;margin-top:24px}.tool-result:empty{display:none}.tool-result h3{font-size:20px;margin:8px 0 18px}.tool-result-rows{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 20px;margin:0;font-size:13px}.tool-result-rows dt{color:var(--muted);align-self:center}.tool-result-rows dd{font-weight:750;text-align:right;margin:0;align-self:center;font-variant-numeric:tabular-nums}.tool-result-rows dd:last-child{color:var(--green);font-size:20px}.tool-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tool-actions .button{font-size:12px;min-height:44px;padding:10px 15px}.tool-status{font-size:12px;line-height:1.7;color:var(--green);margin:14px 0}.tool-error{color:#a13532!important}.tool-manual{width:100%;min-height:130px;font-size:13px}.tool-basis{border-top:1px solid var(--line);margin-top:20px;padding-top:14px;font-size:12px}.tool-basis summary,.tool-schedule summary{min-height:44px;cursor:pointer;color:var(--green);font-weight:650;line-height:1.8}.tool-source{display:inline-block;font-size:12px;color:var(--green);margin:6px 16px 6px 0;min-height:32px}.tool-table-wrap{max-width:100%;overflow-x:auto;max-height:420px;margin:8px 0 14px}.tool-table-wrap table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}.tool-table-wrap th,.tool-table-wrap td{text-align:right;padding:10px 12px;border-bottom:1px solid #cfdac5}.tool-table-wrap th{position:sticky;top:0;background:#e5eedb}.ledger-list{margin:20px 0;max-height:450px;overflow:auto}.ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;border-top:1px solid #d3dfcb;padding:9px 0;font-size:12px}.ledger-row .text-button{min-height:44px;font-size:11px}.tool-age{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.8}.tool-age input{width:20px;height:20px;margin:2px 0;flex:none}.lottery-history{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}.lottery-history h3{font-size:17px}.draw-list{padding:0;list-style:none}.draw-list li{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding:14px 0;font-size:12px;font-variant-numeric:tabular-nums}.draw-list li span{color:var(--green);font-weight:650}.tools-next{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.tools-next .button{font-size:12px}.tools-safety{padding:20px;border-radius:18px;border:1px solid var(--line);margin-top:28px;font-size:12px;color:var(--muted);line-height:1.8}.tools-safety a{color:var(--green)}.top-nav{gap:18px}.bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.bottom-nav a span{font-size:10px}
@media(max-width:1000px){.tools-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.top-nav{gap:13px}}
@media(max-width:640px){.tools-hero{padding:15px 0 20px;gap:14px}.tools-hero>img{width:64px;height:64px;padding:12px;border-radius:22px}.tools-hero .page-title{font-size:31px}.tools-hero p{font-size:13px}.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tool-card{padding:16px;border-radius:17px}.tool-card h2{font-size:16px}.tool-card p{font-size:11px}.tool-tag{font-size:9px}.tool-pane{padding:20px 16px;border-radius:20px}.tool-fields{grid-template-columns:1fr;gap:14px}.tool-result{padding:18px 14px}.tool-result-rows{font-size:12px;gap:12px}.tool-result-rows dd:last-child{font-size:17px}.ledger-row{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;font-size:11px}.draw-list li{align-items:start;flex-direction:column;gap:6px}.bottom-nav a{padding-left:0;padding-right:0}.tools-next .button{flex:1;min-width:130px}}
@media(prefers-reduced-motion:reduce){.tool-card{transition:none}.tool-card:hover{transform:none}}

/* ./membership.css */
.member-trigger{border:1px solid var(--line,#d9ded3);border-radius:99px;padding:.65rem .85rem;background:#fff;color:#215a43;font:inherit;font-size:.8rem;font-weight:800;white-space:nowrap;cursor:pointer}.member-dialog{width:min(580px,calc(100% - 28px));max-height:90dvh;border:1px solid #dce2d6;border-radius:25px;padding:0;color:#263c32;background:#fafbf6}.member-dialog::backdrop{background:#16392bb3}.member-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid #dce2d6}.member-dialog h2{font-size:1.4rem;margin:0}.member-dialog-header button{font:inherit;border:0;background:#edf1e8;width:36px;height:36px;border-radius:50%;cursor:pointer}.member-dialog-content{padding:20px 24px}.member-dialog p{font-size:.9rem;line-height:1.7}.member-dialog .member-note{font-size:.8rem;color:#677367}.member-consents{display:grid;gap:13px;margin:20px 0}.member-consents label{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;line-height:1.65}.member-consents input{width:20px;height:20px;min-height:20px;padding:0;flex:0 0 auto;margin:3px 0 0;accent-color:#215c43}.member-actions{display:flex;gap:10px;flex-wrap:wrap}.member-dialog .button{cursor:pointer;border:1px solid #d4dbd0;border-radius:13px;padding:12px 16px;font:inherit;font-size:.9rem;background:#1d5b43;color:#fff;font-weight:700}.member-dialog .secondary{background:#fff;color:#285541}.member-dialog [hidden]{display:none!important}.member-dialog button:disabled{opacity:.55;cursor:wait}.member-status{padding:12px 14px;border-radius:13px;background:#edf2e8;min-height:3em}.member-dialog .member-danger{color:#8e382f;background:#fff6f3}.member-dialog a{color:#236145;text-underline-offset:3px}.member-dialog details{margin:14px 0;font-size:.85rem;line-height:1.7}.member-dialog summary{cursor:pointer;font-weight:700}.member-export{margin-top:12px}.member-export-note{font-size:.78rem;color:#697569;line-height:1.6}.member-legal-pending{padding:12px;background:#fff4de;border-radius:13px;color:#715622}@media(max-width:700px){.member-trigger{font-size:.72rem;padding:.55rem .65rem}.member-dialog-header,.member-dialog-content{padding:18px}.member-dialog{max-height:88dvh}.member-actions .button{flex:1}}@media(max-width:390px){.site-header{gap:6px}.member-trigger{padding:.5rem .55rem}}

@media(max-width:640px){.site-header .brand{flex-shrink:0}.site-header .region-button{max-width:92px}.site-header{gap:8px}.member-trigger{margin-left:auto}.site-header .brand small{font-size:8px}}

.member-dialog[open]{display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
.member-dialog-header{flex:0 0 auto;gap:12px}.member-dialog-header button{flex:0 0 36px;min-height:36px}
.member-dialog-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding:16px;padding-bottom:24px}
.member-dialog .member-google{display:flex;width:100%;align-items:center;justify-content:center;gap:12px;background:#fff;color:#243c32;min-height:54px}
.member-google-mark{font-family:Arial,sans-serif;font-size:1.3rem;font-weight:700;color:#4285f4}
.member-consents label{padding:8px 0;min-height:44px}.member-consents small{display:block;margin-top:4px;font-size:.77rem;line-height:1.55;font-weight:400;color:#66736a}
.member-dialog .member-step{font-weight:700}.member-google-submit{flex:1 0 100%}.member-policy-details{padding:12px;background:#eef2e9;border-radius:12px}
.member-dialog #member-message:empty{display:none}.member-dialog #member-account-actions{margin-top:16px}
@media(max-width:700px){.member-dialog{width:calc(100% - 24px);border-radius:20px}.member-dialog h2{font-size:1.15rem}.member-dialog .member-actions{gap:8px}.member-consents{gap:7px}}

.member-trigger{min-width:0;max-width:min(240px,30vw);overflow:hidden;text-overflow:ellipsis;flex-shrink:1}
.member-logout-dialog{width:min(440px,calc(100% - 24px))}.member-account-email{overflow-wrap:anywhere;font-weight:700;color:#215a43;unicode-bidi:plaintext}
.member-continue-guest{display:block;width:100%;min-height:44px;margin:14px 0;color:#536753;font:inherit;font-size:.85rem}.member-export-explore{min-height:44px;margin-bottom:8px}.member-export-note{margin:7px 0 0}.member-export-note:empty{display:none}
.admin-panel{max-width:1000px;margin:auto}.admin-panel h1{font-size:28px;margin:8px 0}.admin-actions{display:flex;gap:10px;margin:20px 0}.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.admin-grid article{display:grid;gap:9px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}.admin-grid strong{font-size:28px;color:var(--green);overflow-wrap:anywhere}.admin-grid small{font-size:11px;color:var(--muted)}.admin-panel pre{overflow-wrap:anywhere;white-space:pre-wrap;font-size:11px}.admin-panel details{padding:15px 0;border-top:1px solid var(--line)}@media(max-width:640px){.admin-grid{grid-template-columns:1fr}.admin-panel .section-heading{align-items:start}}
.member-settings{display:block;margin:20px auto 0;padding:8px;background:none;border:0;color:#426451;text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:.8rem;cursor:pointer}
.member-dialog .member-admin-entry{display:block;width:100%;min-height:48px;margin:12px 0 18px;text-align:center}
.member-dialog #member-logout-message:empty{display:none}
@media(max-width:640px){.member-trigger{max-width:30vw}.member-logout-dialog .member-actions .button{min-width:100px}}
.admin-savings{margin:24px 0;padding-top:18px;border-top:1px solid var(--line)}.admin-savings h2{font-size:19px}.admin-savings p{font-size:12px;color:var(--muted);line-height:1.8}.admin-savings a{display:block;padding:12px 0;font-size:13px;line-height:1.7;color:var(--green);text-decoration:underline;overflow-wrap:anywhere}

.admin-grid .admin-member-card{padding:0;overflow:hidden}.admin-member-card>button{display:grid;gap:9px;text-align:left;width:100%;height:100%;padding:22px;border:0;border-radius:18px;background:#fff;color:inherit;cursor:pointer;font:inherit}.admin-member-card>button:hover{background:#f0f5eb}.admin-member-card>button:focus-visible{outline:3px solid #165e45;outline-offset:-4px}.admin-member-open-label{font-size:12px;font-weight:700;color:var(--green)}
.admin-members-dialog{box-sizing:border-box;width:min(620px,calc(100vw - 28px));max-height:88svh;overflow:auto;padding:22px;border:1px solid var(--line,#d7dfd1);border-radius:24px;background:var(--paper,#fafbf6);color:var(--ink,#243a31)}.admin-members-dialog::backdrop{background:#153d2dd4;backdrop-filter:blur(4px)}.admin-member-heading{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:12px}.admin-member-heading h2{min-width:0;font-size:20px;line-height:1.35;word-break:keep-all;margin:0}#admin-members-dialog .admin-member-close{box-sizing:border-box;display:grid;place-items:center;width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;max-height:44px;margin:0;padding:0;border:0;border-radius:50%;background:#edf1e8;color:var(--green,#165e45);font:400 28px/1 system-ui,sans-serif;cursor:pointer}#admin-members-dialog .admin-member-close:hover{background:#dfe8d8}.admin-members-rows{list-style:none;padding:0;margin:16px 0;display:grid;gap:12px}.admin-members-rows li{min-width:0;display:grid;gap:8px;padding:16px;border:1px solid var(--line,#d7dfd1);border-radius:16px;background:white}.admin-members-rows strong{min-width:0;overflow-wrap:anywhere}.admin-members-rows code{font-size:11px;overflow-wrap:anywhere;white-space:normal;color:var(--muted,#677569)}.admin-members-rows p{font-size:13px;margin:0}.admin-members-rows small,.admin-members-notice{font-size:12px;color:var(--muted,#677569);line-height:1.65}.admin-member-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-member-pagination>span{font-size:13px}#admin-members-dialog .admin-member-pagination button{width:auto;min-height:44px;flex:0 0 auto;margin:0}.admin-member-pagination>span{min-width:0;text-align:center}.admin-members-dialog a{display:inline-block;padding:10px 0}.admin-members-dialog button:disabled{cursor:default;opacity:.45}

.member-consent-all{display:flex;gap:.7rem;padding:1rem;background:#edf3e5;border-radius:12px;align-items:center;margin-bottom:1rem}.member-chat-signup,#member-chat-account{padding:1rem 0;border-top:1px solid #dce4d4;margin-top:1rem}.member-chat-signup>label,#member-chat-account-form>label{display:grid;gap:.5rem;font-weight:700}.member-chat-signup input[type=text],#member-chat-account-nickname{font:inherit;padding:.8rem;border:1px solid #b9c9b0;border-radius:10px;width:100%;box-sizing:border-box}#member-existing-google{margin-top:.65rem}#member-chat-account-form>.button{margin-top:1rem}

.member-dialog .member-consent-all input[type=checkbox]{width:22px;height:22px;min-height:22px;min-width:22px;padding:0;margin:0;flex:0 0 22px;accent-color:#215c43}.member-dialog .member-consent-all strong{font-size:.95rem;line-height:1.5}.member-dialog .member-consent-all{justify-content:flex-start;margin:0 0 .75rem;min-height:56px}.member-dialog .member-chat-signup{border:0;padding:.2rem 0;margin:0 0 .8rem}.member-chat-signup h3{font-size:1rem;margin:.3rem 0}.member-chat-signup .member-note{margin:.4rem 0 .7rem}.member-individual-consents{margin:1rem 0}.member-individual-consents>summary{padding:.75rem;border:1px solid #dce4d4;border-radius:9px;color:#365b43;font-size:.8rem;cursor:pointer}.member-individual-consents[open]{padding-bottom:.5rem}

/* ./community.css */
.community-panel{border:1px solid #d7dfcf;background:#fffdf6;border-radius:20px;padding:20px;margin:18px 0;scroll-margin-top:calc(var(--explore-map-height,230px) + 245px)}.community-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.community-heading h2{font-size:19px;margin:0}.community-heading .button{font-size:12px;min-height:44px;padding:10px 15px}.community-panel>p{font-size:12px;line-height:1.8;color:var(--muted)}.community-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.community-tabs button{background:white;border:1px solid var(--line);border-radius:20px;padding:8px 13px;min-height:44px;font-size:12px;color:var(--green)}.community-tabs button[aria-pressed=true]{background:var(--green);color:white}.community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.community-card{border:1px solid var(--line);background:white;border-radius:15px;padding:16px;min-width:0;overflow-wrap:anywhere}.community-card h3{font-size:17px;margin:8px 0}.community-card p{font-size:12px;line-height:1.8;margin:6px 0}.community-card img{width:100%;max-height:260px;object-fit:contain;border-radius:9px;background:#f1f3eb;margin:10px 0}.community-card details{font-size:12px;line-height:1.8}.community-card summary{cursor:pointer;min-height:44px;padding:8px 0}.community-card .button{font-size:12px;min-height:44px;margin:6px 6px 0 0;padding:10px 12px}.community-badge{display:inline-block;background:#eff3db;border:1px solid #c7d1aa;color:#385321;padding:4px 9px;border-radius:20px;font-size:10px}.community-badge.pending{background:#f7f2e7;border-color:#e3d7bc;color:#765e35}.community-notice{background:#fff0d2;border-left:3px solid #a57222;padding:12px;border-radius:8px}.community-rank{list-style:none;padding:0}.community-rank li{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.community-level-table{width:100%;border-collapse:collapse;font-size:12px}.community-level-table td,.community-level-table th{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left}.community-dialog{max-width:660px;width:calc(100% - 26px);padding:0;border:1px solid var(--line);border-radius:22px;max-height:90dvh;overflow:hidden}.community-dialog::backdrop{background:#183a2ac4}.community-dialog-head{display:flex;gap:12px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:15px 20px;background:white}.community-dialog-head h2{font-size:20px;margin:0}.community-dialog-head button{border:0;background:#eef3e8;border-radius:50%;width:44px;height:44px;font-size:24px;flex:none}.community-dialog-body{max-height:calc(90dvh - 80px);overflow:auto;padding:20px;overscroll-behavior:contain}.community-dialog-body>p,.community-dialog-body small{font-size:12px;color:var(--muted);line-height:1.85}.community-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.community-form-grid label{margin:0;font-size:12px;min-width:0}.community-form-grid input,.community-form-grid select{min-width:0;width:100%;font-size:14px}.community-wide{grid-column:1/-1}.community-check{display:flex!important;align-items:flex-start;gap:10px;font-size:12px;line-height:1.85;margin:14px 0!important}.community-check input{width:20px;height:20px;min-width:20px;margin-top:2px;accent-color:var(--green)}.community-canvas{display:block;width:100%;height:auto;max-height:350px;object-fit:contain;border-radius:12px;background:#eff1e9;touch-action:auto}.community-canvas.masking{touch-action:none;cursor:crosshair}.community-upload-note{font-size:12px;color:var(--green);line-height:1.8}.community-submit{width:100%;margin-top:12px;min-height:48px}.community-pin{height:48px;width:48px;display:grid;place-items:center;position:relative;filter:drop-shadow(0 2px 3px #25372a55);background:#fff1d8;border:2px solid #a57e37;border-radius:50%;font-size:26px}.community-pin b{position:absolute;right:-6px;top:-5px;background:#2d6344;border-radius:12px;color:#fff;padding:1px 5px;font-size:11px;min-width:20px;text-align:center}.community-profile{background:#edf4df;padding:14px;border-radius:12px;color:var(--green);font-size:13px;line-height:1.9;margin-bottom:15px}.community-muted{color:var(--muted);font-size:12px;line-height:1.85}.community-card[aria-selected=true]{border:2px solid #638747}.community-dialog-body .money-preview{font-size:11px;display:block;margin:4px 0}.community-dialog-body details>summary{min-height:44px;padding:8px 0;font-size:13px;cursor:pointer}.community-dialog-body [role=status]{font-size:13px;line-height:1.8;color:#854225;overflow-wrap:anywhere}.community-dialog-body form>.button{min-height:44px}.community-panel [hidden],.community-dialog [hidden]{display:none!important}@media(max-width:640px){.community-panel{padding:16px}.community-grid{grid-template-columns:1fr}.community-dialog-body{padding:16px}.community-dialog-head{padding:11px 16px}.community-form-grid{gap:12px}.community-dialog{max-height:93dvh}.community-dialog-body{max-height:calc(93dvh - 70px)}}@media(max-height:540px){.community-panel{scroll-margin-top:20px}}

.community-hash{font-size:.78rem;overflow-wrap:anywhere}.community-ledger-list{padding-left:1.4rem}.community-ledger-list li{padding:.7rem 0;border-bottom:1px solid var(--line,#dce2da)}.community-ledger-list p{margin:.25rem 0}
/* Keep amount/unit fields within the report dialog grid. */
.community-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.community-form-grid>div{min-width:0}.community-form-grid .money-input input{width:0;min-width:0;flex:1}.community-form-grid .money-input select{width:90px;max-width:45%;flex:none}.community-form-grid select{max-width:100%}@media(max-width:600px){.community-form-grid{grid-template-columns:minmax(0,1fr)}}
/* Local pre-publication review: long addresses wrap on narrow screens. */
.community-submit-review{min-width:0;overflow-wrap:anywhere}.community-submit-review>button{min-height:44px;margin:8px 8px 8px 0;max-width:100%;white-space:normal}.community-submit-review:focus{outline:none}

/* ./savings.css */
.savings-feed{max-width:1168px;margin:8px auto 34px;padding-top:12px}.savings-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.savings-heading h1{font-size:clamp(30px,5vw,48px);letter-spacing:-.055em;line-height:1.2;margin:9px 0}.savings-heading p{font-size:14px;color:var(--muted);margin:10px 0}.savings-potato{display:grid;place-items:center;font-size:49px;width:84px;height:84px;background:#edf3e3;border-radius:29px;transform:rotate(8deg)}.savings-categories{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}.savings-categories button{white-space:nowrap;min-height:44px;border:1px solid var(--line);border-radius:30px;padding:9px 19px;background:#fff;color:#536354;font-size:13px;font-weight:750}.savings-categories button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}.savings-toolbar{display:grid;grid-template-columns:170px minmax(0,1fr);gap:10px}.savings-toolbar select,.savings-toolbar input{width:100%;min-width:0;min-height:46px;font-size:13px;margin:0;border-radius:13px;border:1px solid var(--line);background:white;padding:11px 12px}.savings-search{position:relative}.savings-search>span{position:absolute;top:9px;left:13px;font-size:22px;color:var(--muted)}.savings-toolbar .savings-search input{padding-left:39px}.savings-options{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:12px 0 4px}.savings-options label{display:inline-flex;align-items:center;gap:4px;margin:0;min-height:44px;font-size:12px;color:#526451;white-space:nowrap}.savings-options input{width:17px;height:17px;min-height:0;margin:0 3px 0 0;accent-color:var(--green)}.savings-options button{margin-left:auto;min-height:44px;font-size:12px}.savings-status{font-size:11px;color:var(--muted);margin:8px 0 16px;line-height:1.7}.savings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.savings-card{display:flex;flex-direction:column;min-width:0;padding:21px;border:1px solid #dce3d5;border-radius:23px;background:#fff;box-shadow:0 3px 9px #294b2910}.savings-card[data-state=urgent]{border-color:#e4b4ae}.savings-card[data-state=soon]{border-color:#e7cc9c}.savings-card[data-state=ended]{background:#f4f5f0}.savings-card-top{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.savings-card-kind{font-size:10px;font-weight:750;color:#556d56}.savings-badge{display:inline-block;font-size:10px;line-height:1.5;font-weight:800;padding:5px 8px;border-radius:8px;background:#edf3e4;color:#315d3d}.savings-badge[data-state=urgent]{background:#fce9e5;color:#a33127}.savings-badge[data-state=soon]{background:#fff0d9;color:#865414}.savings-badge[data-state=review],.savings-badge[data-state=stale],.savings-badge[data-state=ended]{background:#eceee9;color:#5a6356}.savings-area{color:var(--muted);font-size:10px;line-height:1.6;margin:18px 0 5px;overflow-wrap:anywhere}.savings-card h2{margin:0;line-height:1.5;font-size:16px;letter-spacing:-.03em}.savings-title-button{text-align:left;border:0;padding:0;background:none;font:inherit;font-weight:800;color:var(--ink);cursor:pointer}.savings-value{font-size:23px;line-height:1.4;font-weight:850;letter-spacing:-.04em;color:var(--green);margin:14px 0 5px}.savings-period{font-size:11px;line-height:1.7;color:#65705f;margin:0 0 15px}.savings-early{align-self:flex-start;font-size:10px;border:1px solid #e7cbae;color:#7d552e;border-radius:6px;padding:2px 6px;margin-bottom:13px}.savings-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #edf0e8;padding-top:9px;margin-top:auto;color:var(--muted);font-size:9px;line-height:1.7}.savings-open{white-space:nowrap;background:none;border:0;color:var(--green);font-weight:800;font-size:12px;min-height:44px;cursor:pointer}.savings-more{display:block;width:100%;margin:20px 0}.savings-guide{margin-top:24px;padding:0 16px;border:1px solid var(--line);border-radius:14px;color:var(--muted);font-size:11px;line-height:1.8}.savings-guide summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--green);font-weight:750}.savings-directory-link{display:flex;align-items:center;justify-content:space-between;padding:18px 0;margin-top:10px;border-bottom:1px solid var(--line);font-size:13px;font-weight:750;color:var(--green)}.savings-dialog{max-width:560px;width:calc(100% - 28px);max-height:calc(100svh - 40px);padding:0 24px 22px;border:1px solid #d6dfce;border-radius:24px;overflow:auto;color:var(--ink);overscroll-behavior:contain}.savings-dialog::backdrop{background:#173f32a6;backdrop-filter:blur(5px)}.savings-dialog-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;background:#fff;padding:12px 0 10px;z-index:1;font-size:12px;font-weight:750;color:var(--green)}.savings-dialog-head button{width:44px;height:44px;font-size:26px;border:0;border-radius:50%;background:#f1f5eb;color:var(--green)}.savings-dialog h2{font-size:25px;line-height:1.5;margin:17px 0 8px;letter-spacing:-.035em}.savings-detail-value{font-size:26px;color:var(--green);font-weight:850;margin:10px 0 24px}.savings-dialog dl{display:grid;grid-template-columns:46px minmax(0,1fr);gap:11px 12px;font-size:13px;line-height:1.8;margin-bottom:25px}.savings-dialog dt{color:var(--muted)}.savings-dialog dd{margin:0;overflow-wrap:anywhere}.savings-dialog h3{font-size:15px}.savings-dialog li{font-size:12px;line-height:1.9;margin:7px 0}.savings-dialog ol,.savings-dialog ul{padding-left:20px}.savings-dialog details{border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:12px}.savings-dialog summary{cursor:pointer;font-weight:750}.savings-detail-source{font-size:10px;color:var(--muted);line-height:1.9;margin:20px 0}.savings-detail-source a{color:var(--green);text-decoration:underline}.savings-detail-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.savings-detail-actions .button{min-height:48px;font-size:12px;text-align:center}.savings-dialog #savings-share-status{font-size:11px;line-height:1.7;margin-bottom:0}.savings-feed [hidden],.savings-dialog [hidden]{display:none!important}
@media(max-width:900px){.savings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.savings-feed{margin-top:0;padding-top:5px}.savings-heading{margin-bottom:18px}.savings-heading p{font-size:12px}.savings-potato{width:64px;height:64px;font-size:36px;border-radius:22px}.savings-grid{grid-template-columns:minmax(0,1fr);gap:14px}.savings-card{padding:19px 20px}.savings-card h2{font-size:17px}.savings-value{font-size:27px;margin-top:12px}.savings-toolbar{grid-template-columns:118px minmax(0,1fr)}.savings-toolbar select,.savings-toolbar input{font-size:12px}.savings-categories button{padding:8px 16px;font-size:12px}.savings-card-kind,.savings-badge{font-size:11px}.savings-area{margin-top:13px}.savings-dialog{padding:0 19px 20px;max-height:calc(100svh - 22px)}.savings-dialog h2{font-size:23px}.savings-detail-value{font-size:24px}.savings-detail-actions{grid-template-columns:minmax(0,1fr) 70px}}

/* ./curated-campaign-links.css */
.curated-campaign-links{margin-block:1.5rem;padding-top:1.25rem;border-top:1px solid #d8e2dc}.curated-campaign-links h2{font-size:1.1rem;margin:0 0 .8rem}.curated-campaign-card{border:1px solid #d8e2dc;border-radius:16px;padding:1rem;background:#f8faf8;max-width:42rem;overflow-wrap:anywhere}.curated-campaign-card h3{font-size:1.1rem;margin:.6rem 0}.curated-campaign-card p{margin:.6rem 0;line-height:1.6}.curated-campaign-label{font-size:.8rem;color:#3f6252}.curated-campaign-source,.curated-campaign-period{font-size:.85rem;color:#455a50}.curated-campaign-card a{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;max-width:100%;white-space:normal}.curated-campaign-card a:focus-visible{outline:3px solid #165e45;outline-offset:4px}

/* ./receipt.css */
.receipt-panel{padding:22px;border:1px solid var(--line);background:#fff;border-radius:20px;margin-bottom:22px;min-width:0}.receipt-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.receipt-heading h3{font-size:20px;margin:4px 0 0}.receipt-heading .button{gap:7px;white-space:nowrap;padding:11px 15px}.receipt-month-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.receipt-month-summary label{margin:0;max-width:154px}.receipt-month-summary input{margin:0;padding:7px;max-width:100%}.receipt-month-summary strong{font-size:21px;color:var(--green);text-align:right;overflow-wrap:anywhere}.receipt-categories{display:flex;flex-wrap:wrap;gap:6px}.receipt-categories span{background:#f0f4e9;border-radius:20px;font-size:11px;padding:4px 9px}.receipt-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding:14px 0;border-bottom:1px solid var(--line)}.receipt-record-info{min-width:0;overflow-wrap:anywhere}.receipt-record-info strong{font-size:14px;display:block}.receipt-record-info small{font-size:11px;color:var(--muted)}.receipt-record-amount{font-size:16px}.receipt-record-buttons{grid-column:1/-1;display:flex;justify-content:flex-end;gap:18px}.receipt-record-buttons button{min-height:36px}.receipt-list-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.receipt-list-actions button{min-height:44px}.receipt-guide{margin-top:8px;font-size:11px;color:var(--muted)}.receipt-guide summary{cursor:pointer;min-height:36px}.receipt-guide p{margin:8px 0}.receipt-guide a{text-decoration:underline}.receipt-dialog{width:min(520px,calc(100% - 24px));padding:22px;overscroll-behavior:contain}.receipt-dialog .form-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.receipt-dialog input,.receipt-dialog select{min-width:0}.receipt-dialog .receipt-privacy{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 14px}.receipt-privacy a{text-decoration:underline}.receipt-pickers{display:flex;gap:10px}.receipt-pickers .button{width:50%;margin:0}.receipt-preview{display:block;max-width:100%;height:150px;object-fit:contain;border:1px solid var(--line);border-radius:10px;margin:12px auto;background:#faf9f5}.receipt-dialog #receipt-progress{font-size:12px;color:var(--green);margin:10px 0;min-height:0}.receipt-suggestion{padding:10px;background:#eef3e8;border-radius:9px;font-size:12px;margin:12px 0}.receipt-warnings{font-size:11px;color:#89551a;padding-left:18px;margin-bottom:14px}.receipt-warnings:empty{display:none}.receipt-dialog #receipt-extra{font-size:12px;margin:8px 0 14px}.receipt-dialog #receipt-extra summary{min-height:44px;cursor:pointer;padding:8px 0}.receipt-items{padding-left:18px;font-size:12px}.receipt-check{display:flex;align-items:flex-start;gap:8px;font-size:12px;margin:12px 0}.receipt-check input{width:20px;min-height:20px;margin:0;flex:none;accent-color:var(--green)}.receipt-error{background:#fff0ea;color:#983c2e;padding:12px;border-radius:9px;font-size:12px}.receipt-save-note{font-size:10px;color:var(--muted);margin:10px 0 0}.receipt-dialog .text-button{min-height:44px}@media(max-width:420px){.receipt-panel{padding:16px}.receipt-heading{align-items:flex-end}.receipt-heading h3{font-size:18px}.receipt-heading .eyebrow{font-size:10px}.receipt-heading .button{font-size:12px;padding:10px}.receipt-month-summary strong{font-size:18px}.receipt-dialog{padding:18px}}

/* ./recurring-expenses.css */
.recurring-expenses{margin:18px 0;padding:16px;border:1px solid var(--line,#d8e2d2);border-radius:16px;background:var(--white,#fff)}
.recurring-expenses h3{margin:0 0 10px}
.recurring-expenses-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.recurring-expenses-heading p{margin:0}
.recurring-expenses-status,.recurring-expense-error{margin:8px 0 0;overflow-wrap:anywhere}
.recurring-expense-rule{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px 0;border-top:1px solid var(--line,#d8e2d2)}
.recurring-expense-rule:first-child{margin-top:10px}
.recurring-expense-rule-info{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.recurring-expense-rule-info small{color:var(--muted,#65776b)}
.recurring-expense-amount{white-space:nowrap}
.recurring-expense-rule-actions{grid-column:1/-1;display:flex;gap:14px;flex-wrap:wrap}
.recurring-expense-dialog{width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:20px;border:1px solid var(--line,#d8e2d2);border-radius:18px;overflow:auto;box-sizing:border-box}
.recurring-expense-dialog::backdrop{background:#152a2266}
.recurring-expense-dialog .dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.recurring-expense-dialog h2{font-size:1.2rem;margin:0}
.recurring-expense-form{display:grid;gap:12px;margin-top:14px}
.recurring-expense-presets{display:flex;gap:8px;flex-wrap:wrap}
.recurring-expense-field{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0}
.recurring-expense-field>input,.recurring-expense-field>select{width:100%;min-width:0;box-sizing:border-box}
.recurring-expense-error{color:#a22727}
.recurring-expense-dialog button{min-height:44px}
@media(max-width:400px){.recurring-expense-rule{grid-template-columns:minmax(0,1fr)}.recurring-expense-dialog{padding:16px}.recurring-expense-rule-actions{grid-column:1}}

/* ./i18n.css */
/* Native select supports touch, keyboard and screen readers. The compact flag opens native-language names. */
.language-control{display:flex;align-items:center;gap:5px;margin:0 0 0 8px;flex:0 0 auto;color:var(--green);font-size:18px}
.language-control select{width:auto;max-width:125px;min-height:44px;margin:0;padding:8px 22px 8px 8px;border-radius:20px;font-size:12px;background:#fff}
.language-note{max-width:1168px;margin:4px auto 12px;font-size:12px;color:var(--muted)}
.language-note summary{cursor:pointer;min-height:28px}.language-note p{max-width:75ch;margin:4px 0 10px;line-height:1.6}
html:not([lang="ko"]) .bottom-nav a{min-width:0;font-size:10px;line-height:1.25;overflow-wrap:anywhere;hyphens:auto;text-align:center}
html:not([lang="ko"]) .map-sticky-head{flex-wrap:wrap;gap:8px}
html:not([lang="ko"]) .map-sticky-head>div{flex:1 1 110px}
html:not([lang="ko"]) .map-sticky-head button{font-size:11px;white-space:normal}
html:not([lang="ko"]) .price-focus-heading{gap:8px;flex-wrap:wrap}
html:not([lang="ko"]) .top-nav{gap:12px;font-size:12px}

/* A single header row at every width; neighborhood settings stay in the map tools. */
.site-header{display:flex;flex-wrap:nowrap;gap:10px;min-height:64px;padding-top:10px;padding-bottom:10px}
.site-header .brand{flex:0 0 auto;min-width:0;white-space:nowrap}
.site-header .brand small{display:none}
.site-header #region-open{display:none}
.site-header .member-trigger{margin-left:auto;min-width:0;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:44px}
.site-header .language-control{position:relative;width:44px;height:44px;margin:0;flex:0 0 44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff}
.language-control>span{font-size:24px;line-height:1;pointer-events:none}
.language-control select{position:absolute;inset:0;width:44px;height:44px;max-width:none;min-height:44px;margin:0;padding:0;opacity:0;cursor:pointer}
.language-control:focus-within{outline:2px solid var(--green);outline-offset:3px}
.language-note{flex-basis:100%;margin:8px 0;font-size:11px}
@media(max-width:900px){.site-header .top-nav{display:none}.site-header{padding-left:18px;padding-right:18px}.site-header .brand{font-size:22px}.site-header .brand img{width:32px;height:32px}.site-header .member-trigger{max-width:160px;font-size:12px;padding:8px 10px}}
@media(max-width:380px){.site-header{gap:6px;padding-left:12px;padding-right:12px}.site-header .brand{font-size:20px;gap:6px}.site-header .brand img{width:28px;height:28px}.site-header .member-trigger{max-width:120px;padding:8px;font-size:11px}}

html:not([lang="ko"]) :is(.member-dialog,.community-dialog,.budget-review-dialog,.reading-card,.housing-info-card){overflow-wrap:anywhere}
body>header.site-header>.language-control{margin-left:auto}

/* Compact atelier shortcut between the account and language, on every viewport. */
.header-paint-link{display:flex;align-items:center;justify-content:center;gap:4px;min-width:44px;height:44px;flex:0 0 auto;border:1px solid var(--line);border-radius:22px;padding:0 9px;background:#fff;color:var(--green);font-size:12px;white-space:nowrap;text-decoration:none}
.header-paint-link svg{width:24px;height:24px;flex:0 0 24px}.header-paint-link:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.language-control>span>svg{display:block;width:28px;height:20px;border-radius:2px;box-shadow:0 0 0 1px #0002}
body>header.site-header>.language-control{margin-left:0}
@media(max-width:640px){.header-paint-link{width:40px;min-width:40px;padding:0;flex-basis:40px}.header-paint-link>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.map-shell-active .site-header{gap:6px}.map-shell-active .site-header .member-trigger{max-width:84px;overflow:hidden;text-overflow:ellipsis}.map-shell-active .site-header .brand{flex-shrink:0}}
@media(max-width:380px){.map-shell-active .site-header{gap:4px;padding-left:8px;padding-right:8px}.map-shell-active .site-header .member-trigger{max-width:64px;padding-left:6px;padding-right:6px}}
@media(max-width:640px){body.map-shell-active .site-header{gap:6px}body.map-shell-active .site-header .brand{flex-shrink:1}body.map-shell-active .site-header .brand>span{min-width:0;max-width:116px}body.map-shell-active .site-header .brand .brand-tagline{max-width:116px;overflow:hidden;text-overflow:ellipsis}body.map-shell-active .site-header .member-trigger{font-size:11px;padding-left:6px;padding-right:6px;flex-shrink:1}}
@media(max-width:380px){body.map-shell-active .site-header{gap:4px;padding-left:8px;padding-right:8px}body.map-shell-active .site-header .brand>span,body.map-shell-active .site-header .brand .brand-tagline{max-width:104px}}

/* ./contact.css */
footer.company-footer{display:block;padding:28px max(20px,calc((100% - 1120px)/2));border-top:1px solid #dbe6dd;background:#f8fbf7;color:#536153}.company-footer .company-main{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:0}.company-footer .footer-brand{display:block;margin-bottom:12px}.company-footer .company-details{font-size:14px;line-height:1.7;margin:0}.company-footer .company-details a{display:inline-block;color:inherit;overflow-wrap:anywhere}.company-footer .company-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 18px;border-top:1px solid #e1e9df;margin-top:24px;padding-top:16px;font-size:13px}.company-footer .company-links a,.company-footer .company-links button{font-size:13px}.company-footer #contact-open{min-height:44px;white-space:nowrap}#contact-dialog{width:min(520px,calc(100vw - 32px));max-height:90dvh;padding:26px;border:1px solid #dbe6dd;border-radius:24px;box-sizing:border-box;overflow:auto}#contact-dialog::backdrop{background:#172b225e;backdrop-filter:blur(3px)}#contact-dialog h2{font-size:23px;letter-spacing:-.04em}#contact-dialog label{display:grid;gap:7px;margin:16px 0;font-size:14px;font-weight:650}#contact-dialog input,#contact-dialog textarea{width:100%;min-width:0;box-sizing:border-box;font:inherit;padding:12px;border:1px solid #cbd7ca;border-radius:12px;background:#fff}#contact-dialog textarea{resize:vertical;min-height:120px}#contact-dialog .contact-actions{display:flex;gap:10px;flex-wrap:wrap}#contact-dialog .contact-note,#contact-status{font-size:13px;line-height:1.6;color:#536153}#contact-status:empty{display:none}#contact-dialog .contact-email{overflow-wrap:anywhere;font-size:14px}#contact-dialog .contact-note a{color:inherit}@media(max-width:600px){.company-footer .company-main{align-items:center;flex-direction:column;text-align:center;gap:16px}.company-footer .company-main>div{width:100%;min-width:0}.company-footer .footer-brand{margin-bottom:8px}.company-footer #contact-open{min-width:144px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.company-footer .company-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;margin-top:20px;padding-top:12px;text-align:center}.company-footer .company-links>a,.company-footer .company-links>button{display:flex;justify-content:center;align-items:center;min-height:44px;min-width:0;margin:0;padding:6px 2px;white-space:normal;overflow-wrap:anywhere;line-height:1.45}footer.company-footer{padding:24px 20px 28px}#contact-dialog{width:100%;max-width:none;max-height:90dvh;margin:auto 0 0;padding:22px 20px max(24px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0}#contact-dialog .contact-actions>*{flex:1;min-height:46px}#contact-dialog input,#contact-dialog textarea{font-size:16px}}

/* ./health-directory.css */
.health-directory{margin:24px 0;padding:22px;border:1px solid #dbe6dd;border-radius:20px;background:#f8fbf7;overflow-wrap:anywhere}.health-directory h2{margin:0;font-size:24px}.health-directory>label{display:grid;gap:6px;margin:16px 0;max-width:320px}.health-directory select{padding:10px;font:inherit;border-radius:10px;border:1px solid #cbd7ca;min-height:44px;max-width:100%}.health-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin:16px 0}.health-card{background:white;border:1px solid #dbe6dd;border-radius:16px;padding:18px;min-width:0}.health-card h3{margin:8px 0;font-size:20px}.health-card strong{display:inline-block;padding:6px 10px;background:#edf5e9;border-radius:9px}.health-card p{line-height:1.6}.health-card summary{cursor:pointer;padding:12px 0;min-height:44px}.health-card dt{font-weight:650;margin-top:12px}.health-card dd{margin:5px 0;line-height:1.6}.health-actions{display:flex;gap:8px;flex-wrap:wrap}.health-actions>*{min-height:44px;min-width:0;white-space:normal;overflow-wrap:anywhere}.health-directory .button{white-space:normal}#institution-proposal-dialog{box-sizing:border-box;width:min(560px,calc(100vw - 24px));max-height:90dvh;overflow:auto;border:1px solid #dbe6dd;border-radius:20px;padding:22px}#institution-proposal-dialog::backdrop{background:#172b225e}#institution-proposal-dialog label{display:grid;gap:7px;margin:16px 0}#institution-proposal-dialog input,#institution-proposal-dialog textarea{box-sizing:border-box;max-width:100%;width:100%;min-width:0;padding:10px;border:1px solid #cbd7ca;border-radius:10px;font:inherit;font-size:16px}#institution-proposal-dialog button{min-height:44px;white-space:normal;font:inherit;border-radius:8px;padding:8px 12px;cursor:pointer}#institution-proposal-dialog p{line-height:1.6;overflow-wrap:anywhere}#institution-proposal-status:empty{display:none}@media(max-width:600px){.health-directory{padding:16px}.health-actions>*{flex:1 1 130px}.health-card{padding:16px}}

.health-map-pin{border:0!important;background:transparent!important}.health-map-pin:focus-visible{outline:3px solid #145e43;outline-offset:3px;border-radius:50%}.health-map-potato{display:grid;place-items:center;position:relative;width:56px;height:56px;font-size:39px;filter:drop-shadow(0 2px 2px #0003)}.health-map-badge{position:absolute;top:0;left:27px;background:#087f5b;color:#fff;font:900 23px/25px sans-serif;width:27px;height:27px;text-align:center;border:2px solid #fff;border-radius:8px;box-sizing:border-box}.health-map-count{position:absolute;bottom:0;right:0;background:#145e43;color:#fff;border:2px solid #fff;border-radius:50%;min-width:22px;font:700 13px/20px sans-serif;text-align:center}.health-map-panel{padding:16px;max-width:100%;box-sizing:border-box}.health-map-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.health-map-heading h2{min-width:0;overflow-wrap:anywhere}.health-map-panel button,#health-map-toggle{min-height:44px;min-width:44px;white-space:normal;overflow-wrap:anywhere}.health-map-panel[hidden]{display:none}.health-card:focus-visible{outline:3px solid #087f5b;outline-offset:3px}

.map-shell-layers{flex-wrap:wrap}.map-shell-layers #health-map-toggle[aria-pressed=true]{border-color:#087f5b;color:#145e43;background:#edf8f2}.map-shell-layers #health-map-toggle{max-width:100%;min-width:0;flex-shrink:1}

#health-centre-select{max-width:100%;width:100%;min-height:44px;margin:.5rem 0;padding:.5rem;border:1px solid #c9d8cf;border-radius:10px;background:#fff;color:#173d2b}

/* ./mascot.css */
/* Shared approved potato character. Numeric ratings and price bands stay readable. */
.brand-mascot{display:inline-block;object-fit:contain;vertical-align:middle;flex-shrink:0}
#chat-heading .brand-mascot{width:36px;height:40px;margin-right:.25rem}
.budget-empty>.brand-mascot{width:64px;height:68px}
.place-rating-potato{width:1.15em;height:1.2em;border:0;border-radius:0;background:url('./mascot-potato.png') center/contain no-repeat;box-shadow:none;filter:grayscale(.65) opacity(.7)}
.place-rating-potato::before,.place-rating-potato::after{content:none}
.place-rating-choice.selected .place-rating-potato,.place-rating-choice:has(input:checked) .place-rating-potato,.place-rating-summary>.place-rating-potato{filter:none}
.place-rating-choice{min-height:74px}
@media(forced-colors:active){.place-rating-choice small{color:CanvasText}.place-rating-choice:has(input:checked){border:3px solid Highlight}.place-rating-potato{forced-color-adjust:none;filter:none}}

/* /lounge.css */
.lounge-entry{display:flex;align-items:center;gap:.65rem;padding:.8rem 1rem;margin:.8rem 0 1rem;border:1px solid #d8dfce;border-radius:16px;background:#f0f4e7;color:#235842;text-decoration:none;font-weight:750}.lounge-entry-icon{font-size:1.5rem}.lounge-entry small{font-size:.7rem;border-radius:20px;background:#fff;padding:.2rem .5rem}.lounge-entry-arrow{margin-left:auto}.lounge-panel{max-width:880px;margin:auto}.lounge-heading,.lounge-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.lounge-heading h1{margin:.1rem 0;font-size:clamp(1.6rem,6vw,2.3rem)}.lounge-intro{margin:.4rem 0 1rem;color:#69756b}.lounge-toolbar{display:flex;gap:1rem;flex-wrap:wrap;margin:.6rem 0}.lounge-search{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:1rem 0}.lounge-search label,.lounge-dialog form>label{display:grid;gap:.4rem;font-size:.9rem}.lounge-search input,.lounge-search select,.lounge-dialog input:not([type=checkbox]),.lounge-dialog select{width:100%;min-width:0;padding:.7rem;border:1px solid #d4dccd;border-radius:12px;background:white;font:inherit}.lounge-room-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;max-height:50svh;overflow:auto;overscroll-behavior:contain;margin-bottom:.6rem}.lounge-room-tile{min-width:0;padding:1rem .7rem;border:1px solid #d6dece;border-radius:14px;text-align:left;background:white;color:#245940;font:inherit;cursor:pointer}.lounge-room-tile strong,.lounge-room-tile small{display:block}.lounge-room-tile strong{font-size:.95rem}.lounge-room-tile small{margin-top:.35rem;color:#778073;font-size:.75rem}.lounge-chat{margin-top:1rem;background:#fff;border:1px solid #d6dfcf;border-radius:20px;overflow:hidden;scroll-margin-top:1rem}.lounge-room-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid #e4e9dc}.lounge-room-heading h2{margin:0;font-size:1.2rem}.lounge-room-heading small{font-size:.8rem;color:#71806d}.lounge-expiry{font-size:.8rem;font-weight:750;padding:.35rem .6rem;background:#edf1df;border-radius:20px}.lounge-status{font-size:.78rem;padding:.4rem 1rem;margin:0;min-height:1.9rem;background:#f7f8f2;color:#536648}.lounge-messages{height:clamp(300px,48svh,600px);overflow:auto;overscroll-behavior:contain;padding:1rem;display:flex;flex-direction:column;gap:.7rem}.lounge-message{background:#f0f3ec;border-radius:16px 16px 16px 4px;padding:.7rem .85rem;width:fit-content;max-width:90%;overflow-wrap:anywhere;flex-shrink:0}.lounge-message.own{align-self:flex-end;background:#e5efda;border-radius:16px 16px 4px 16px}.lounge-message-head{display:flex;gap:.7rem;align-items:baseline}.lounge-message-head strong{font-size:.8rem}.lounge-message-head time{font-size:.68rem;color:#7a8475}.lounge-message-text{white-space:pre-wrap;font-size:.95rem;line-height:1.6;margin:.4rem 0}.lounge-message-foot{display:flex;gap:.7rem;justify-content:flex-end;align-items:center}.lounge-message-foot small{font-size:.7rem;color:#976c15}.lounge-message-foot button{font-size:.7rem;min-height:32px;padding:0 .3rem}.lounge-empty{font-size:.9rem;color:#77816d;margin:auto;text-align:center}.lounge-composer{padding:.7rem;border-top:1px solid #e4e9dc}.lounge-composer textarea{width:100%;resize:vertical;max-height:8rem;min-height:3rem;border:1px solid #d5decb;border-radius:12px;padding:.6rem .8rem;font:inherit}.lounge-compose-actions{display:flex;align-items:center;gap:.6rem;margin-top:.4rem}.lounge-compose-actions .button{min-height:42px;padding:.45rem 1rem;min-width:70px;width:auto;margin-left:auto}.lounge-compose-actions small{font-size:.7rem;color:#7f8877}.lounge-attach{display:flex;align-items:center;gap:.3rem;min-height:44px;border:0;background:transparent;font-size:1.4rem;color:#245940;cursor:pointer}.lounge-attach span{font-size:.75rem}.lounge-gate{padding:1rem;text-align:center;border-top:1px solid #e4e9dc}.lounge-gate p{font-size:.9rem}.lounge-gate .button{min-height:44px;padding:.6rem 1rem}.lounge-rules{font-size:.8rem;line-height:1.8;margin:1rem 0}.lounge-rules summary{cursor:pointer;color:#5d7452}.lounge-dialog{width:min(94vw,520px);max-height:85svh;padding:1.2rem;border:1px solid #d6dfcd;border-radius:22px;color:#253d2d;background:#fafbf5;overflow:auto}.lounge-dialog::backdrop{background:#173f31b5;backdrop-filter:blur(4px)}.lounge-dialog-head{margin-bottom:.8rem}.lounge-dialog-head h2{flex:1;min-width:0;margin:0;font-size:1.3rem}.lounge-close{flex:0 0 44px;width:44px;height:44px;min-width:44px;padding:0;border:1px solid #d5decc;border-radius:50%;font-size:1.5rem;background:#fff;color:#285c40;cursor:pointer}.lounge-consents{display:grid;gap:.8rem;margin:1rem 0}.lounge-consents label,.lounge-media-rights,.lounge-review-check{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem;line-height:1.65}.lounge-consents input,.lounge-media-rights input,.lounge-review-check input{flex:0 0 20px;width:20px;height:20px;margin-top:.15rem;accent-color:#22613e}.lounge-dialog p{font-size:.88rem;line-height:1.7}.lounge-dialog .button{width:100%;min-height:46px;margin-top:.6rem}.lounge-media{display:block;width:auto;max-width:100%;max-height:45svh;object-fit:contain;border-radius:10px;margin:.5rem auto}.lounge-media-view{border:1px solid #a4b88c;background:#fff;padding:.7rem;border-radius:10px;color:#285f41;cursor:pointer}.lounge-review-card{padding:1rem;border:1px solid #d4decb;border-radius:16px;background:white;margin:.7rem 0}.lounge-review-actions{display:flex;gap:.7rem;margin-top:.8rem}.lounge-review-actions .button{flex:1;min-height:44px;padding:.5rem}.lounge-review-card p{overflow-wrap:anywhere}.lounge-review-card h3{margin:0 0 .5rem}@media(max-width:550px){.lounge-room-list{grid-template-columns:repeat(2,minmax(0,1fr))}.lounge-panel.section{padding:1rem .65rem}.lounge-heading .text-button{font-size:.8rem;white-space:nowrap}.lounge-messages{height:48svh;min-height:280px;padding:.7rem}.lounge-message{max-width:94%}.lounge-dialog{padding:1rem}.lounge-room-list{max-height:55svh}}@media(prefers-reduced-motion:reduce){.lounge-panel *{scroll-behavior:auto}}
.lounge-steps{display:flex;gap:.5rem;list-style:none;margin:1rem 0;padding:0;flex-wrap:wrap}.lounge-steps li{display:flex;gap:.35rem;align-items:center;font-size:.8rem;color:#425e49;background:#edf3e5;border-radius:99px;padding:.4rem .65rem}.lounge-steps b{display:grid;place-items:center;background:#226345;color:white;width:20px;height:20px;border-radius:50%;font-size:.7rem}.lounge-entry-copy{font-size:1.05rem}.lounge-entry small{font-weight:500}.lounge-room-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.lounge-room-actions .text-button{font-size:.75rem;min-height:44px}.lounge-prompts{display:flex;gap:.4rem;flex-wrap:wrap;margin:0 0 .55rem}.lounge-prompts button{border:1px solid #d5e1cc;border-radius:99px;padding:.4rem .65rem;background:#f5f8ee;color:#3e6649;font:inherit;font-size:.75rem;min-height:36px;cursor:pointer}.lounge-prompts button:hover{background:#e5efda}.lounge-screen-limit{display:block;line-height:1.7;color:#5c6b5b}.lounge-media-slot{min-width:min(220px,60vw);max-width:100%}.lounge-media-slot .lounge-media{min-width:0;max-width:min(100%,420px);margin:.5rem 0}.lounge-media-slot:has(img) .lounge-media-view{display:none}.lounge-chat{scroll-margin-top:85px}.bottom-nav [data-nav=lounge]{color:#41674e}.top-nav [data-nav=lounge]{font-weight:750}@media(max-width:550px){.lounge-room-heading{align-items:flex-start}.lounge-room-actions{gap:.1rem;max-width:145px}.lounge-room-actions .lounge-expiry{font-size:.65rem}.lounge-entry{gap:.4rem}.lounge-entry small{font-size:.65rem}}

.lounge-blinded{padding:.8rem 1rem;border:1px dashed #a8b69f;border-radius:10px;background:#eef0e9;color:#596653;font-size:.85rem;line-height:1.6}.lounge-review-reason{padding:.5rem .7rem;background:#f1f4e8;border-radius:8px;font-size:.8rem}

/* Participation-first directory: shared topics before hundreds of empty rooms. */
.lounge-topic-head h2{font-size:1.35rem;margin:1.4rem 0 .4rem}.lounge-topic-head p{color:#667563;margin:.2rem 0 1rem}.lounge-topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.lounge-topic-card,.lounge-conversation-card{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;text-align:left;border:1px solid #dce4d4;background:#fffef8;border-radius:16px;padding:1.1rem;color:#244d3b;cursor:pointer;min-width:0}.lounge-topic-card strong{font-size:1.12rem}.lounge-topic-card span{font-size:.85rem;color:#657261}.lounge-topic-card b,.lounge-conversation-card b{font-size:.85rem;color:#165e45}.lounge-topic-card:hover,.lounge-conversation-card:hover{border-color:#357356;background:#f1f5e9}.lounge-discovery{margin:1.5rem 0;padding:1rem 0;border-top:1px solid #dce4d4}.lounge-discovery h2{font-size:1.2rem}.lounge-conversation-card{width:100%;margin-bottom:.65rem;background:#fff}.lounge-conversation-card strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.lounge-conversation-card small,.lounge-conversation-card span{color:#687662;font-size:.8rem}.lounge-neighborhoods>summary{padding:1rem;border:1px solid #dce4d4;border-radius:12px;cursor:pointer;font-weight:700}.lounge-neighborhoods[open]>.lounge-steps{margin-top:1rem}.lounge-reply-context{display:flex;justify-content:space-between;align-items:center;border-left:3px solid #357356;background:#eef3e7;padding:.5rem .7rem;font-size:.85rem}.lounge-reply-context[hidden]{display:none}.lounge-reply-origin{border:0;background:transparent;color:#476c55;font-size:.8rem;text-align:left;padding:.2rem 0;cursor:pointer}.lounge-message.is-reply{border-left:3px solid #9db293}.lounge-topic-card:focus-visible,.lounge-conversation-card:focus-visible{outline:3px solid #9bbf71;outline-offset:3px}
@media(max-width:380px){.lounge-topic-list{grid-template-columns:1fr}}

/* /board.css */
body[data-board-start] main>section:not(#board-panel){display:none}.board-panel{max-width:1050px;margin:0 auto;padding:1.5rem 1.1rem 6rem;color:#263c32}.board-switch{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;padding:.35rem;border:1px solid #dce4d4;background:#edf1e7;border-radius:16px;margin:0 0 1.7rem}.board-switch a{text-decoration:none;text-align:center;padding:.8rem .5rem;color:#65725f;border-radius:12px;font-weight:800}.board-switch a[aria-current]{background:#fff;color:#165e45;box-shadow:0 1px 5px #1c362b12}.board-switch small{display:block;font-size:.73rem;font-weight:500;margin-top:.2rem}.board-heading{display:flex;gap:1rem;justify-content:space-between;align-items:center;margin-bottom:1rem}.board-heading h1{font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.3;overflow-wrap:anywhere;margin:.35rem 0}.board-heading p{font-size:.95rem;color:#68765f;line-height:1.6}.board-heading>.button{white-space:nowrap;flex-shrink:0}.board-search{display:flex;gap:.6rem;align-items:end;padding:1rem;background:#fff;border:1px solid #e0e5d8;border-radius:14px}.board-search label{flex:1;margin:0;font-size:.8rem}.board-search input{width:100%;box-sizing:border-box}.board-topics{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.board-topics a{border:1px solid #dce4d4;border-radius:30px;padding:.55rem .8rem;text-decoration:none;font-size:.85rem;color:#506549;background:#fff}.board-topics [aria-current]{background:#165e45;color:#fff;border-color:#165e45}.board-list{display:grid;gap:.8rem}.board-card{display:block;padding:1.25rem 1.35rem;border:1px solid #e1e5d9;border-radius:16px;background:#fffef9;text-decoration:none;color:inherit}.board-card:hover{border-color:#8ba67e;background:#f4f7ec}.board-card h2{font-size:1.15rem;line-height:1.5;margin:.5rem 0;overflow-wrap:anywhere}.board-card>p{color:#63715c;font-size:.9rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.board-meta{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;color:#6a785f;font-size:.78rem}.board-meta a{color:#236044}.board-empty{text-align:center;border:1px dashed #c5d1bc;border-radius:18px;padding:2.6rem 1rem;background:#f5f7ee}.board-empty>span{font-size:2.4rem;color:#638456}.board-empty h2{font-size:1.35rem}.board-empty p{line-height:1.8;color:#68765e}.board-how{margin-top:2rem;padding:1.2rem;border-top:1px solid #dce4d4}.board-how h2{font-size:1.1rem}.board-how li,.board-how p{font-size:.9rem;line-height:1.9;color:#62725b}.board-status{line-height:1.7;color:#285d41;overflow-wrap:anywhere}.board-status:not(:empty){background:#edf3e4;padding:.9rem;border-radius:12px}.board-post{border:1px solid #dce4d4;padding:1.35rem;border-radius:16px;background:#fff;margin:1rem 0}.board-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.9;word-break:break-word}.board-photo{display:block;max-width:100%;max-height:700px;width:auto;height:auto;border-radius:12px;margin:1rem auto;object-fit:contain}.board-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin:.7rem 0}.board-actions button{background:transparent;border:0;color:#456b4c;padding:.45rem .15rem;font:inherit;font-size:.82rem;text-decoration:underline;cursor:pointer}.board-comments{margin-top:1.8rem}.board-comments h2{font-size:1.25rem}.board-comment{padding:1.1rem 0;border-bottom:1px solid #e1e7d8}.board-comment .board-body{font-size:.95rem}.board-editor{display:grid;gap:1rem;margin:1rem 0;padding:1.25rem;border:1px solid #dce4d4;border-radius:16px;background:#fff}.board-editor label{display:grid;gap:.5rem;margin:0;font-size:.9rem}.board-editor input:not([type=checkbox]),.board-editor textarea,.board-editor select,.board-dialog textarea,.board-dialog select{font:inherit;width:100%;box-sizing:border-box;border:1px solid #c9d5bf;border-radius:9px;padding:.8rem;background:#fff;min-width:0;color:#263c32}.board-editor textarea{resize:vertical;line-height:1.7}.board-editor input[type=file]{font-size:.85rem}.board-editor .board-check,.board-check{display:flex;gap:.7rem;align-items:flex-start;font-size:.82rem;line-height:1.8}.board-check input[type=checkbox]{width:20px;min-width:20px;height:20px;min-height:20px;flex:0 0 20px;padding:0;margin:.2rem 0 0;accent-color:#165e45}.board-note{font-size:.8rem;color:#69785f;line-height:1.8}.board-dialog{width:min(550px,calc(100% - 24px));box-sizing:border-box;border:1px solid #d0dac8;border-radius:20px;padding:1.4rem;background:#fafbf6;color:#263c32}.board-dialog::backdrop{background:#173e2db3}.board-dialog h2{font-size:1.2rem}.board-dialog label{display:grid;gap:.5rem;font-size:.9rem}.board-dialog p{font-size:.85rem;line-height:1.8}.board-dialog .button{margin:.5rem .5rem 0 0}#board-review-list .board-post .board-check{display:flex}#board-private-tools{margin-top:1.2rem}.lounge-panel>.board-switch{margin-top:.7rem}.board-panel [hidden]{display:none!important}.board-dialog [hidden]{display:none!important}
@media(max-width:600px){.board-panel{padding:1rem .8rem 6rem}.board-heading{align-items:flex-start}.board-heading>.button{font-size:.8rem;padding:.7rem}.board-heading p{font-size:.82rem}.board-switch small{font-size:.65rem}.board-editor,.board-post{padding:1rem}.board-card{padding:1rem}.board-search{padding:.8rem}}

.board-body a{overflow-wrap:anywhere;text-decoration:underline;color:#165e45}.board-operator{font-weight:700;color:#165e45;background:#e6efdf;padding:2px 8px;border-radius:12px}

/* Continue with a clear choice, without autoplay or fabricated popularity. */
.board-card{touch-action:pan-y pinch-zoom}.board-body{touch-action:pan-y pinch-zoom}.board-next{margin-top:2.5rem;padding-top:2rem;border-top:1px solid #d9e2d1}.board-next-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.board-next-heading h2{font-size:clamp(1.4rem,3vw,1.8rem);margin:.3rem 0}.board-next-heading p{font-size:.9rem;color:#63715c;line-height:1.6;margin:.4rem 0}.board-next-group{margin:1.5rem 0}.board-next-group>h3{font-size:.95rem;color:#506549;margin:0 0 .7rem}.board-next-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.board-next-grid .board-card{min-width:0;height:100%;padding:1.1rem}.board-next-grid .board-card h3{font-size:1rem;line-height:1.5;margin:.6rem 0;overflow-wrap:anywhere}.board-next-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem}#board-next-title{scroll-margin-top:90px}@media(max-width:700px){.board-next-grid{grid-template-columns:1fr}.board-next-heading{align-items:flex-start}.board-next-heading>.text-button{white-space:nowrap;font-size:.75rem}.board-next{margin-top:2rem;padding-top:1.5rem}}
.board-list-progress{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;padding:1rem 1.1rem;background:#edf3e7;border:1px solid #d5dfca;border-radius:14px}.board-list-progress strong,.board-list-progress span,.board-list-progress small{display:block}.board-list-progress strong{font-size:1rem;color:#245c43}.board-list-progress span{font-size:.85rem;line-height:1.7;margin-top:.2rem}.board-list-progress small{font-size:.72rem;line-height:1.7;color:#68745f;margin-top:.25rem}.board-list-progress>.button{flex-shrink:0;font-size:.82rem}@media(max-width:520px){.board-list-progress{align-items:stretch;flex-direction:column;gap:.7rem}.board-list-progress>.button{text-align:center}}
.board-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.35rem;margin:1.5rem 0 .4rem}.board-pagination a,.board-pagination .board-page-current{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.4rem .65rem;border:1px solid #d6dfcd;background:#fff;color:#315c42;border-radius:9px;text-decoration:none;font-size:.9rem;font-weight:700}.board-pagination .board-page-current{background:#245e45;border-color:#245e45;color:#fff}.board-page-gap{padding:.2rem;color:#697762}.board-pagination a:hover{background:#edf3e5;border-color:#6a8b60}.board-page-caption{text-align:center;color:#6b7762;font-size:.78rem;margin:.3rem 0 1.5rem}

/* Find a useful action, contribute a real experience, and deliberately return. */
.board-spaces{display:flex;gap:.5rem;flex-wrap:wrap;margin:-.6rem 0 1.4rem}.board-spaces a{color:#285e45;background:#fff;border:1px solid #d5dfcc;border-radius:12px;padding:.65rem .85rem;text-decoration:none;font-size:.85rem;font-weight:700}.board-discover{padding:1.4rem;border:1px solid #d4dfc7;background:#edf3e4;border-radius:20px;margin:1.3rem 0}.board-discover h2{font-size:1.4rem;margin:.45rem 0}.board-discover p{color:#60715a;line-height:1.6;font-size:.9rem}.board-discover-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:1.1rem 0}.board-discover-grid a{display:flex;flex-direction:column;gap:.55rem;background:#fff;border:1px solid #dae2d1;border-radius:14px;padding:1rem;text-decoration:none;color:#244c36}.board-discover-grid a>span{font-size:1.6rem}.board-discover-grid small{font-size:.75rem;color:#687660}.board-quick-tools{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.8rem}.board-quick-tools a{color:#285e45}.board-search select{box-sizing:border-box;min-height:44px;border:1px solid #d1dcc5;border-radius:9px;background:#fff;color:#244c36;padding:.65rem;max-width:100%;font:inherit;font-size:.85rem}.board-prompt-choices{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.board-prompt-choices button{min-height:44px;border:1px solid #bad0b1;border-radius:12px;padding:.6rem .8rem;background:#eef4e6;color:#285c3e;font:inherit;font-size:.85rem;cursor:pointer}.board-personal{border-top:1px solid #d8e1cc;padding-top:1rem}.board-personal>p{line-height:1.8;color:#63765b;font-size:.9rem}.board-personal>.button,.board-personal>.text-button{margin:1rem .7rem 0 0}.board-personal .board-card{margin:.4rem 0}.board-response-note{font-size:.85rem;color:#345d40;margin-top:.7rem}.board-response-note a{color:inherit}.board-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#e6eed9;border:1px solid #d4dfc7;border-radius:50%;font-weight:800;color:#285c3f}.board-actions [aria-pressed=true]{font-weight:800;color:#165e45}.board-spaces a:focus-visible,.board-discover a:focus-visible,.board-prompt-choices button:focus-visible{outline:3px solid #bc913e;outline-offset:3px}@media(max-width:650px){.board-search{flex-wrap:wrap}.board-search label:first-child{flex-basis:100%}.board-search>label{flex:1;min-width:100px}.board-discover{padding:1rem}.board-discover-grid{grid-template-columns:1fr}.board-discover-grid a{display:grid;grid-template-columns:36px 1fr;gap:.3rem .6rem;padding:.85rem}.board-discover-grid small{grid-column:2}.board-discover-grid a>span{grid-row:span 2}.board-spaces{gap:.35rem}.board-spaces a{padding:.65rem .55rem;font-size:.78rem}}

/* A voluntary first action; no tracking, saved answers, or simulated participation. */
.board-read-checklist{border:1px solid #cfdbc6;background:#f3f7ec;border-radius:14px;padding:1rem;margin:1.2rem 0;min-width:0}.board-read-checklist legend{font-weight:800;padding:0 .4rem}.board-read-checklist label{display:flex;align-items:flex-start;gap:.7rem;min-height:44px;padding:.6rem 0;cursor:pointer;line-height:1.8}.board-read-checklist input{flex:0 0 22px;width:22px;height:22px;margin:.3rem 0 0;accent-color:#245e45}.board-read-checklist input:checked+span{color:#52664c}.board-read-checklist .board-note{white-space:normal;margin:.3rem 0}.board-source-context,.board-next-action,.board-solo-help{border:1px solid #d3dfc9;border-radius:16px;background:#f1f5e9;padding:1.2rem;margin:1.2rem 0}.board-source-context>span{display:block;font-size:.8rem;color:#60765b;margin-bottom:.4rem}.board-source-context>a{font-weight:800;color:#245e45;overflow-wrap:anywhere}.board-source-context p,.board-next-action p,.board-solo-help p{font-size:.9rem;line-height:1.8;color:#53694d}.board-next-action h2,.board-solo-help h2{font-size:1.15rem;margin:.2rem 0}.board-next-action small{display:block;color:#60765b;line-height:1.7;font-size:.78rem}.board-action-options{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}.board-action-options>.button{white-space:normal;min-height:44px;font:inherit;font-size:.9rem;box-sizing:border-box}.board-next-action a,.board-solo-help a{color:#245e45}.board-solo-help>a{display:inline-block;margin:.5rem 1rem .5rem 0}.board-compose-steps{color:#60765b;font-size:.85rem;line-height:1.8}.board-prompt-choices [aria-pressed=true]{background:#245e45;color:#fff;border-color:#245e45}.board-read-checklist input:focus-visible,.board-next-action a:focus-visible,.board-source-context a:focus-visible{outline:3px solid #bc913e;outline-offset:3px}@media(max-width:600px){.board-action-options{display:grid;grid-template-columns:1fr}.board-action-options>.button{text-align:center;width:100%}.board-next-action,.board-source-context,.board-solo-help{padding:1rem}}
/* Override the app-wide compact form-label/span rules for reading-sized steps. */
.board-read-checklist label{font:inherit;font-weight:400;line-height:1.75;gap:.7rem}.board-read-checklist label>span{font-size:1rem;font-weight:500;line-height:1.75;white-space:normal}.board-read-checklist label>input{width:22px;height:22px;min-width:22px;min-height:22px;max-height:22px;flex:0 0 22px;margin:.2rem 0 0}

/* Podcast listening is opt-in; the controls also fit a small phone. */
.podcast-intro,.podcast-player,.podcast-support-note,.podcast-recorder{background:#f1f5e9;border:1px solid #cbd7c0;border-radius:20px;padding:20px;margin:20px 0;color:#263d32}.podcast-intro h2{font-size:1.8rem;margin:8px 0}.podcast-start-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.podcast-start-grid>a{display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:16px;background:#fff;text-decoration:none;color:inherit;border:1px solid #d5dfcb}.podcast-start-grid strong{font-size:1.1rem}.podcast-start-grid span{line-height:1.6}.podcast-start-grid>a>span:first-child{font-size:28px}.podcast-badge{display:inline-block;padding:5px 10px;background:#e7f0d4;color:#20563e;border-radius:24px;font-weight:700}.podcast-player audio,.podcast-recorder audio{width:100%;display:block;margin:16px 0}.podcast-recorder audio[hidden]{display:none}.podcast-player label{display:flex;align-items:center;gap:12px;max-width:280px}.podcast-player select{width:auto;min-height:44px}.podcast-record-actions{display:flex;flex-wrap:wrap;gap:8px}.podcast-record-actions button{min-height:48px;padding:12px 16px;font:inherit;border:1px solid #5c7868;border-radius:12px;background:#fff;color:#214c38}.podcast-record-actions [aria-pressed=true]{background:#963830;color:#fff}.podcast-recorder legend{font-size:1.15rem;font-weight:700}.podcast-recorder output{display:block;font-size:1.4rem;font-variant-numeric:tabular-nums;margin:16px 0}.podcast-compose-help{font-size:1rem;line-height:1.8}.podcast-speaking-plan{background:#fff8df;border:1px solid #d8c47a;border-radius:16px;padding:16px 18px;margin:14px 0 18px;color:#3b3422}.podcast-speaking-plan strong{font-size:1.1rem}.podcast-speaking-plan ol{margin:10px 0;padding-left:24px;line-height:1.75}.podcast-speaking-plan p{margin:8px 0 12px;line-height:1.65}.podcast-speaking-plan .text-button{display:inline-flex;min-height:44px;align-items:center}.podcast-studio-item{border:1px solid #d4dec9;border-radius:16px;padding:16px;margin:12px 0}.podcast-studio-item h3{overflow-wrap:anywhere}.podcast-studio-item button{margin-left:16px;min-height:44px}.board-editor .board-check{align-items:flex-start;font-size:16px;line-height:1.7;gap:10px;min-height:48px}.board-editor .board-check input{flex:0 0 22px;width:22px;height:22px;min-height:22px;margin-top:3px}.board-editor .board-check span{font-size:16px}.podcast-studio details{margin:24px 0}.podcast-studio summary{min-height:44px}.podcast-player small,.podcast-recorder small{font-size:14px;line-height:1.6}.podcast-player audio:focus-visible,.podcast-start-grid a:focus-visible{outline:3px solid #b99328;outline-offset:4px}
@media(max-width:520px){.podcast-start-grid{grid-template-columns:1fr}.podcast-recorder{padding:14px;min-width:0}.podcast-record-actions button{flex:1 1 130px}.podcast-intro,.podcast-player{padding:16px}.podcast-intro h2{font-size:1.6rem}}

/* Region options stay usable inside the mobile search row and native picker. */
.podcast-region-select{min-width:0}.podcast-region-select select{width:100%;max-width:100%;min-height:44px;font-size:16px}.podcast-region-select small{display:block;line-height:1.6;font-size:13px;margin-top:6px}.board-search:has(.podcast-region-select){flex-wrap:wrap}.board-search .podcast-region-select{flex:1 1 260px}.podcast-region-label{overflow-wrap:anywhere}@media(max-width:650px){.board-search .podcast-region-select{flex-basis:100%}}

.board-reading-shortcuts{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.board-reading-shortcuts button{font:inherit;min-height:44px;white-space:normal}.board-reading-source{border-left:3px solid #cfdbc6;padding:0 0 0 1rem;margin-top:1rem;overflow-wrap:anywhere}.board-reading-source .board-body{margin-top:0}#board-reading-start,#board-reading-steps,#board-reading-source{scroll-margin-top:100px}.board-reading-shortcuts button:focus-visible,.board-reading-source button:focus-visible{outline:3px solid #bc913e;outline-offset:3px}@media(max-width:600px){.board-reading-shortcuts{display:grid;grid-template-columns:1fr}.board-reading-shortcuts button{width:100%}}
/* Real member stories: readable media, no fixed aspect ratio on text. */
.news-tabs{display:flex;gap:8px;padding:8px 0 20px;max-width:720px;margin:auto}.news-tabs [role=tab]{flex:1;border:1px solid #d9e2d5;border-radius:14px;background:#fff;padding:13px 18px;color:#3b4936;font-weight:750;cursor:pointer}.news-tabs [aria-selected=true]{background:#233c29;color:#fff;border-color:#233c29}
#social-feed-root{max-width:680px;margin:0 auto;padding:0 4px 28px;min-width:0}.story-intro{padding:24px;border:1px solid #dfe6d9;border-radius:22px;background:linear-gradient(135deg,#f5f6e9,#eff7ec);margin-bottom:20px}.story-eyebrow{font-size:12px;font-weight:800;color:#577044;letter-spacing:.04em}.story-intro h2{font-size:clamp(22px,3vw,30px);line-height:1.3;margin:8px 0 12px;overflow-wrap:anywhere}.story-intro p{line-height:1.65}.story-compose{margin:10px 0;display:inline-flex}.story-prompts{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.story-prompt{font-size:12px;padding:7px 11px;background:#fff;border:1px solid #dce6d5;border-radius:99px;text-decoration:none;color:#3e5735}.story-filter{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:18px 0;color:#5d6658;font-size:12px}.story-filter select,.story-filter button{font:inherit;padding:9px;border:1px solid #d8dfd2;border-radius:10px;background:#fff;color:#243721}.story-latest{flex:1}.story-list{display:grid;gap:18px;min-width:0}.story-card{min-width:0;background:white;border:1px solid #e0e5dc;border-radius:20px;padding:20px;box-shadow:0 3px 12px #293d2410;overflow:hidden}.story-author{display:flex;gap:10px;align-items:center}.story-avatar{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;background:#f2e8ce;color:#655328;border-radius:14px;font-weight:800}.story-author strong{font-size:14px;overflow-wrap:anywhere}.story-meta{display:block;color:#687061;font-size:12px;margin-top:4px}.story-card h3{font-size:19px;line-height:1.45;margin:18px 0 9px;overflow-wrap:anywhere}.story-card h3 a{color:#203221;text-decoration:none}.story-body{font-size:15px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px}.story-read{display:inline-block;color:#426a34;font-size:13px;margin-bottom:14px}.story-photo-link{display:block;margin:8px -20px 0;background:#f5f5ef}.story-photo{display:block;width:100%;height:auto;max-height:600px;object-fit:contain}.story-photo-error{display:block;padding:24px;line-height:1.5;font-size:13px;color:#6d725f}.story-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:16px;margin-top:12px;border-top:1px solid #edf0e9}.story-actions button,.story-actions a{font:inherit;font-size:13px;padding:10px 12px;min-height:42px;border-radius:12px;text-decoration:none;border:1px solid #e2e8dd;background:#fff;color:#4b5a43;cursor:pointer}.story-actions button[aria-pressed=true]{background:#fbede7;color:#9a462b;border-color:#ecc8b6}.story-actions button:disabled{opacity:.6}.story-actions .story-detail{margin-left:auto;font-size:11px;color:#6c7368;border:0}.story-status{font-size:13px;line-height:1.6;color:#68705f;min-height:24px}.story-empty{text-align:center;padding:32px 22px;border:1px dashed #c9d6c1;border-radius:20px;background:#fafbf7}.story-empty p{line-height:1.7;color:#65705a}.story-safety{font-size:11px;color:#707869;line-height:1.7;margin-top:24px}.story-card a:focus-visible,.story-card button:focus-visible,.news-tabs button:focus-visible{outline:3px solid #619849;outline-offset:3px}@media(max-width:480px){.story-intro{padding:18px}.story-card{padding:16px;border-radius:16px}.story-photo-link{margin-left:-16px;margin-right:-16px}.story-latest{flex-basis:100%;order:4}.story-actions{gap:6px}.story-actions button,.story-actions a{padding:9px}.story-card h3{font-size:18px}}

.story-confirmed{padding:20px;margin:20px 0;border:1px solid #dce6d4;border-radius:20px;background:#fff}.story-confirmed h2{font-size:21px;margin:0 0 10px}.story-report-note{font-size:13px;line-height:1.6;color:#63715b}.story-confirmed select{max-width:100%;padding:10px;border:1px solid #cfdcc5;border-radius:10px;margin-bottom:12px}.story-report-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}.story-report-card{padding:16px;border:1px solid #e0e6d9;border-radius:16px;min-width:0;overflow-wrap:anywhere}.story-report-card h3{font-size:18px;margin:8px 0}.story-report-card p{font-size:13px;line-height:1.6}.story-report-card .story-report-price{font-size:17px;font-weight:700;color:#285d37}.story-report-card small{display:block;line-height:1.6;color:#68735f}.story-report-photo{display:block;width:100%;height:170px;object-fit:contain;margin:12px 0;background:#f4f5ef}.story-report-link,.story-plan-link{display:inline-flex;align-items:center;min-height:44px;color:#285c3a;font-weight:700;font-size:13px;margin-top:12px}.story-start-example{margin-top:16px;padding-top:12px;border-top:1px solid #d8e3cf;font-size:13px}.story-start-example summary{cursor:pointer;font-weight:700}.story-start-example p{white-space:pre-wrap;line-height:1.7;color:#64725b}

.story-plan-presets{display:grid;grid-template-columns:1fr;gap:10px}.story-plan-presets .story-plan-link{padding:16px;margin:0;border:1px solid #c3d2b4;border-radius:14px;background:#fff;text-decoration:none;font-size:15px}.story-members{margin-top:24px;padding-top:18px;border-top:1px solid #d9e1d3}.story-members>summary{font-size:20px;font-weight:750;cursor:pointer;padding:12px 0}.story-members>p{font-size:13px;line-height:1.7;color:#607057}

/* /radio.css */
.radio-panel{padding-top:20px;max-width:1180px;margin:auto}.radio-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#134c3b;color:#fff;border-radius:28px;padding:32px 38px}.radio-hero .eyebrow{color:#c9e4ae}.radio-hero h1{font-size:clamp(32px,4vw,52px);letter-spacing:-.06em;margin:8px 0}.radio-hero p{font-size:20px;line-height:1.55;margin:10px 0 14px}.radio-hero small{color:#d2e2d9}.radio-hero-art{font-size:90px;background:#e9f0d8;border-radius:50%;width:150px;height:150px;display:grid;place-items:center;flex-shrink:0}.radio-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}.radio-panel #radio-region{max-width:100%}.radio-panel .podcast-region-select{display:grid;gap:8px;font-weight:700}.radio-panel select{width:100%;max-width:100%;min-height:48px}.radio-panel .podcast-region-select small,.radio-scope{font-size:12px;color:var(--muted);font-weight:400;line-height:1.55}.radio-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:22px}.radio-listening,.radio-conversation{min-width:0;border:1px solid #dce4d6;background:#fff;border-radius:22px;padding:20px}.radio-workspace h2{font-size:20px;margin:0 0 12px}.radio-conversation>p{color:var(--muted);font-size:12px;line-height:1.55}.radio-list-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.radio-empty{padding:24px 12px;background:#f2f5ed;border-radius:16px;text-align:center}.radio-empty>span{font-size:38px}.radio-empty h3{font-size:18px}.radio-empty p{font-size:13px;line-height:1.6}.radio-empty a{display:inline-flex;margin:5px}.radio-episode{padding:18px 0;border-bottom:1px solid #dce4d6;overflow-wrap:anywhere}.radio-episode h3{margin:10px 0}.radio-episode p{font-size:12px;color:var(--muted)}.radio-episode>div{display:flex;gap:8px;flex-wrap:wrap}.radio-embedded-chat{padding:0!important;margin:0!important;max-width:none!important}.radio-embedded-chat>.board-switch,.radio-embedded-chat>.lounge-heading,.radio-embedded-chat>.lounge-intro,.radio-embedded-chat>#lounge-directory{display:none}.radio-embedded-chat .lounge-toolbar{justify-content:flex-end;margin:0}.radio-embedded-chat .lounge-chat{margin-top:8px}.radio-embedded-chat .lounge-messages{height:280px;max-height:40vh;min-height:100px}.radio-embedded-chat .lounge-room-heading{flex-wrap:wrap;gap:8px}.radio-embedded-chat .lounge-room-heading h2{font-size:17px}.radio-embedded-chat .lounge-room-actions{flex-wrap:wrap}.radio-embedded-chat .lounge-rules{font-size:12px}.radio-player-dock{position:fixed;z-index:95;bottom:18px;left:50%;transform:translateX(-50%);width:min(900px,calc(100% - 32px));display:flex;align-items:center;gap:14px;padding:12px 16px;background:#153f32;color:#fff;box-shadow:0 8px 32px #102a2940;border-radius:18px}.radio-player-dock[hidden]{display:none}.radio-player-copy{min-width:0;flex:1}.radio-player-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radio-player-copy small{display:block;font-size:11px;color:#d0e5d6;margin-top:3px}.radio-player-dock audio{width:300px;max-width:100%;height:38px}.radio-player-dock button{color:#fff;background:transparent;border:0;font-size:28px;padding:6px}.has-radio-player{padding-bottom:110px}
@media(max-width:1100px) and (min-width:901px){.top-nav{gap:12px;font-size:12px}}
@media(max-width:900px){.radio-panel{padding-top:12px}.radio-hero{padding:24px}.radio-hero-art{width:100px;height:100px;font-size:62px}.radio-player-dock{bottom:calc(78px + env(safe-area-inset-bottom));width:calc(100% - 20px);padding:10px;gap:8px;flex-wrap:wrap}.radio-player-copy{flex:1 1 calc(100% - 38px);order:0}.radio-player-dock audio{width:100%;order:2}.radio-player-dock button{order:1}.has-radio-player{padding-bottom:calc(215px + env(safe-area-inset-bottom))}.bottom-nav a[data-nav="radio"].active{background:#e5eedc;border-radius:12px}}
@media(max-width:640px){.radio-hero{padding:20px;border-radius:22px;gap:12px}.radio-hero .eyebrow{font-size:10px}.radio-hero p{font-size:15px}.radio-hero small{font-size:10px}.radio-hero-art{width:62px;height:62px;font-size:39px}.radio-actions{gap:8px;margin:12px 0}.radio-actions .button{font-size:12px;padding:12px}.radio-actions>.text-button{font-size:12px}.radio-workspace{grid-template-columns:1fr;gap:14px;margin-top:14px}.radio-listening,.radio-conversation{padding:16px;border-radius:18px}.radio-empty{padding:12px}.radio-empty>span{font-size:26px}.radio-empty h3{margin:10px 0;font-size:16px}.radio-empty p{margin:8px 0}.radio-panel #radio-region small{font-size:11px}.radio-scope{font-size:11px}.radio-embedded-chat .lounge-room-actions{font-size:11px}}
.radio-region-fields{display:flex;gap:10px;flex-wrap:wrap}.radio-region-fields>label{display:grid;gap:6px;flex:1;min-width:140px;font-size:13px;font-weight:700}.radio-region-fields>label[hidden]{display:none}
#radio-compact-toggle{display:none}
@media(max-width:900px){.radio-writing .radio-player-dock{padding:6px 10px;bottom:calc(78px + env(safe-area-inset-bottom));flex-wrap:nowrap}.radio-writing .radio-player-dock audio,.radio-writing .radio-player-copy small{display:none}.radio-writing #radio-compact-toggle{display:block;font-size:19px;min-width:38px}.radio-writing .radio-player-copy{flex:1;min-width:0;font-size:12px}.radio-writing .radio-player-dock button{font-size:22px}.radio-writing .lounge-composer{scroll-margin-bottom:150px}.radio-conversation{scroll-margin-bottom:220px}}
.radio-hero-compact{padding:18px 26px;border-radius:20px}.radio-hero-compact h1{font-size:32px;margin:5px 0}.radio-hero-compact p{font-size:14px;margin:6px 0}.radio-hero-compact p br{display:none}.radio-hero-compact .radio-hero-art{width:78px;height:78px;font-size:48px}.radio-hero-compact small{font-size:11px}.radio-hero-compact+.radio-actions{margin:12px 0}
@media(max-width:640px){.radio-hero-compact{padding:15px 18px}.radio-hero-compact h1{font-size:28px}.radio-hero-compact .eyebrow,.radio-hero-compact p,.radio-hero-compact .radio-hero-art{display:none}.radio-rankings{margin-bottom:16px}}

.radio-start-steps{max-width:100%;text-align:start;overflow-wrap:anywhere}.radio-start-steps h4{margin:16px 0 8px;font-size:14px}.radio-start-steps ol{margin:0;padding-inline-start:22px;font-size:13px;line-height:1.65}.radio-start-steps li+li{margin-top:6px}.radio-start-steps .text-button{max-width:100%;white-space:normal}
.radio-background{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;border:1px solid #dce4d6;border-radius:16px;background:#f2f5ed}.radio-background>span{font-size:11px;color:#5b6d53}.radio-background .button{padding:8px 12px}#radio-mute{font-size:12px;min-width:52px;white-space:nowrap}#radio-sound-note{flex-basis:100%}

.regional-news{padding:20px;border:1px solid #dce8d8;border-radius:18px;background:#f7faf4;margin:16px 0}.regional-news h2{margin:6px 0}.regional-news select{max-width:100%;padding:9px;border-radius:8px}.regional-news article{margin:14px 0;padding:14px;background:white;border-radius:12px}.regional-news p{line-height:1.7;overflow-wrap:anywhere}.regional-news small{line-height:1.6;display:block}.regional-news .radio-actions{flex-wrap:wrap}.regional-news label{display:inline-flex;align-items:center;gap:8px}.regional-news details{margin-top:10px}.regional-news summary{cursor:pointer}.regional-news button:disabled{opacity:.5}

.regional-news>label{margin-right:1rem;margin-bottom:.65rem}.regional-news article>small{display:block;color:var(--muted,#666);margin-bottom:.4rem}

/* /radio-metrics.css */
.radio-rankings{border:1px solid #cfdcc3;border-radius:24px;background:#f3f7ec;padding:24px;margin:0 0 20px}.radio-rank-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.radio-rank-heading h2{font-size:26px;margin:7px 0 10px;letter-spacing:-.04em}.radio-rank-heading label{display:grid;gap:6px;font-size:12px;min-width:130px}.radio-rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.radio-rank-grid section{min-width:0}.radio-rank-grid h3{font-size:16px}.radio-rank-row{display:flex;align-items:start;gap:12px;border-top:1px solid #dce5d3;padding:13px 0}.radio-rank-number{font-size:20px;font-weight:800;min-width:25px;color:#28543a}.radio-rank-row>div{min-width:0}.radio-rank-row button{border:0;background:transparent;padding:0;text-align:left;color:var(--green);font:inherit;font-weight:750;cursor:pointer;overflow-wrap:anywhere}.radio-rank-row a{font-weight:750}.radio-rank-row small{display:block;font-size:11px;line-height:1.6;color:#5c6c58;margin-top:5px}.radio-rank-note,.radio-support-note,.radio-rankings>[role=status]{font-size:12px;line-height:1.65;color:#52644d}.radio-rank-empty{font-size:13px;line-height:1.7;background:#fff;padding:14px;border-radius:12px}.radio-reactions{padding:10px 0;font-size:12px}.radio-reactions>div{display:flex;gap:8px;flex-wrap:wrap}.radio-reactions button{border:1px solid #a4b69b;border-radius:10px;background:#fff;color:#234f38;padding:9px 12px;cursor:pointer}.radio-reactions button[aria-pressed=true]{background:#234f38;color:#fff}.radio-reactions small{display:block;color:#64715f;font-size:11px;line-height:1.5;margin:8px 0}.radio-reactions>p{line-height:1.5}.radio-reactions button:disabled{opacity:.5}
@media(max-width:640px){.radio-rankings{padding:16px;border-radius:18px}.radio-rank-heading{align-items:start;gap:8px}.radio-rank-heading h2{font-size:21px}.radio-rank-heading .eyebrow{font-size:10px}.radio-rank-heading label{min-width:95px;font-size:10px}.radio-rank-grid{grid-template-columns:1fr;gap:4px}.radio-rank-grid h3{margin:10px 0}.radio-rank-note{font-size:10px}.radio-rank-row{padding:10px 0}.radio-rank-empty{margin:6px 0;padding:10px}}

/* /podcast-map.css */
.podcast-map-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 0}.podcast-map-tools button{min-height:44px}.podcast-map-tools [aria-pressed=true]{background:#eef0ff;border:1px solid #7867af;border-radius:12px;color:#493274}.podcast-map-status{margin:3px 0;font-size:.8rem;color:#5c5273}.podcast-map-potato{display:block;position:relative;width:56px;height:56px;font-size:36px;filter:drop-shadow(0 2px 3px #29213d55);background:#f4efff;border:2px solid #6b4c9a;border-radius:50%;text-align:center}.podcast-map-potato i{position:absolute;bottom:0;left:0;font-size:20px;font-style:normal}.podcast-map-potato b{position:absolute;right:-5px;top:-6px;background:#513477;color:white;border-radius:14px;min-width:25px;padding:2px 5px;font:700 14px/20px system-ui}.podcast-map-list{padding:16px;background:#faf7ff;border:1px solid #d8cce8;border-radius:20px;margin:12px 0;scroll-margin-top:80px}.podcast-map-list[hidden]{display:none}.podcast-map-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.podcast-map-heading h2{font-size:1.15rem;margin:0}.podcast-map-heading button{min-height:44px;flex-shrink:0}.podcast-map-episode{display:grid;gap:8px;padding:14px 0;border-top:1px solid #e5deed;overflow-wrap:anywhere}.podcast-map-episode h3{margin:0}.podcast-map-episode button{justify-self:start;min-height:44px}.podcast-map-episode small{color:#5d536c}

/* /housing-fee-map.css */
.housing-fee-pin{background:none;border:0}.housing-fee-potato{display:block;position:relative;width:52px;height:58px;filter:drop-shadow(0 2px 2px #0003)}.housing-fee-count{position:absolute;top:0;right:-6px;min-width:22px;padding:2px 5px;border-radius:15px;background:#fff;color:#374151;border:2px solid #6b7280;text-align:center;font:700 12px system-ui}.housing-fee-panel{padding:18px;margin:12px 0;background:#fffaf0;border:1px solid #e8d8ad;border-radius:20px;scroll-margin-top:12px}.housing-fee-panel[hidden]{display:none}.housing-fee-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.housing-fee-heading h2{font-size:1.15rem;margin:0}.housing-fee-show{display:flex;gap:8px;align-items:center;margin:12px 0}.housing-fee-show input{width:18px;height:18px}.housing-fee-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin-top:14px}.housing-fee-card{padding:14px;border:1px solid #e2d9c8;background:white;border-radius:14px;overflow-wrap:anywhere}.housing-fee-card h3{margin:0 0 8px;font-size:1rem}.housing-fee-card p{margin:7px 0}.housing-fee-card small{display:block;margin-top:8px}.housing-fee-amount{display:block;color:#3e3225}.housing-fee-status{display:inline-block;font-weight:700;font-size:.82rem;border-radius:14px;padding:4px 8px;margin-top:8px;color:#fff;background:#667085}.housing-fee-status.lower{background:#2e8060}.housing-fee-status.higher{background:#b7433c}.housing-fee-status.similar{background:#8a641c}.housing-fee-panel details{font-size:.85rem}.housing-fee-panel summary{cursor:pointer;font-weight:700}.housing-fee-pin:focus-visible{outline:3px solid #145fbc;outline-offset:3px;border-radius:8px}

/* /resident-fees.css */
.resident-fee-dialog{max-width:640px;width:calc(100% - 24px);max-height:85dvh;border:1px solid #d7dfd1;border-radius:20px;padding:20px;overflow:auto;color:#243d31;background:#fffdf6}.resident-fee-dialog::backdrop{background:#10251d99}.resident-fee-dialog form{display:grid;gap:12px}.resident-fee-dialog label{display:grid;gap:5px}.resident-fee-dialog input:not([type=checkbox]),.resident-fee-dialog select{box-sizing:border-box;width:100%;min-width:0;padding:10px;font:inherit;border:1px solid #acbbae;border-radius:8px;background:#fff}.resident-fee-dialog .resident-fee-consent{display:flex;align-items:flex-start;gap:10px;font-size:.88rem}.resident-fee-consent input{flex:none;width:20px;height:20px}.resident-fee-dialog button{margin:4px 3px 4px 0;min-height:44px}.resident-fee-private,.resident-fee-sample{padding:12px;border:1px dashed #9aaca4;border-radius:12px;margin:10px 0;background:#f4f7f1}.resident-fee-dialog p,.resident-fee-sample{overflow-wrap:anywhere}.resident-fee-dialog h2{margin-top:0}.resident-fee-dialog input[type=file]{font-size:.9rem}

.resident-fee-dialog-heading{position:sticky;top:-20px;z-index:3;display:flex;align-items:center;gap:12px;margin:-20px -20px 14px;padding:16px 20px;background:#fffdf6;border-bottom:1px solid #d7dfd1}.resident-fee-dialog-heading h2{margin:0;min-width:0;font-size:1.35rem}.resident-fee-dialog-heading .resident-fee-close{flex:none;margin:0 0 0 auto;min-width:64px;min-height:44px}.resident-fee-own-actions[hidden]{display:none}

/* /member-ecosystem.css */
.ecosystem-dialog{box-sizing:border-box;width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:20px;border:1px solid #d6dfce;border-radius:20px;background:#fffdf6;color:#253e2b}.ecosystem-dialog::backdrop{background:#18291f66}.ecosystem-dialog h2{font-size:20px;margin:0 0 12px}.ecosystem-dialog h3{font-size:16px;margin-top:20px}.ecosystem-dialog label{display:block;margin:12px 0;line-height:1.6}.ecosystem-dialog input:not([type=checkbox]),.ecosystem-dialog textarea,.ecosystem-dialog select{width:100%;box-sizing:border-box;min-height:44px;padding:9px;border:1px solid #bbc9b0;border-radius:8px;font:inherit;background:white}.ecosystem-dialog input[type=checkbox]{display:inline-block;width:20px;min-height:20px;height:20px;margin:0 8px;vertical-align:middle}.ecosystem-dialog button,.ecosystem-report button{min-height:44px;padding:8px 12px;margin:4px;border:1px solid #b8c6ac;border-radius:16px;background:#f1f4e8;color:#23442e;cursor:pointer;font:inherit;font-size:13px}.ecosystem-dialog button:disabled,.ecosystem-report button:disabled{opacity:.55;cursor:not-allowed}.ecosystem-dialog :focus-visible,.ecosystem-report :focus-visible{outline:3px solid #bd8a37;outline-offset:2px}.ecosystem-preview{display:block;max-width:100%;height:auto;border-radius:50%;margin:12px auto}.ecosystem-preview[hidden]{display:none}.ecosystem-report{margin-top:12px;padding:12px;border:1px solid #dce5d4;border-radius:14px;background:#fcfcf6}.ecosystem-report summary{min-height:44px;cursor:pointer;font-weight:700}.ecosystem-report p{overflow-wrap:anywhere;white-space:pre-wrap}.ecosystem-report article{padding:10px 0;border-bottom:1px solid #dce5d4}.ecosystem-circle{display:inline-flex;gap:6px;align-items:center;margin:4px 12px 4px 0;max-width:100%;font-size:12px}.ecosystem-circle>span:last-child{overflow-wrap:anywhere;min-width:0}.ecosystem-avatar{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;background:#eee0b9;border-radius:50%;overflow:hidden}.ecosystem-avatar img{width:32px;height:32px;object-fit:cover}.ecosystem-report button[aria-pressed=true]{background:#285c40;color:white}.ecosystem-dialog [role=status],.ecosystem-report [role=status]{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:420px){.ecosystem-dialog{padding:14px}.ecosystem-dialog button,.ecosystem-report button{max-width:100%;white-space:normal}.ecosystem-circle{margin-right:6px}}

.ecosystem-circle time{font-size:11px;color:#526052;overflow-wrap:anywhere}

/* /map-shell.css */
/* The actual persistent map is the backdrop; only the content sheet changes height. */
body.map-shell-active{overflow:hidden;height:100dvh;padding:0!important;background:#e8eddf;--map-shell-vh:100dvh;--map-shell-top:0px;--map-shell-nav-height:70px;--map-shell-player-height:0px}
.map-shell-active .map-shell-background{position:fixed;inset:0;z-index:0}
.map-shell-active .map-shell-background .map-canvas-wrap{position:absolute;inset:0;margin:0;border:0;border-radius:0;height:100%;min-height:0;overflow:hidden}
.map-shell-active .map-shell-background #area-map{height:100%!important;min-height:0!important;border:0;border-radius:0}
.map-shell-active .map-shell-background .map-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:130px 20px;text-align:center}
.map-shell-active .site-header{position:fixed;z-index:700;top:calc(var(--map-shell-top) + env(safe-area-inset-top));left:12px;right:12px;width:auto;max-width:none;min-height:48px;height:48px;margin:0;padding:4px 10px;gap:8px;border-radius:16px;background:#fffffff2;box-shadow:0 3px 18px #173b2520;flex-wrap:nowrap}
.map-shell-active .site-header .brand{font-size:19px;flex-shrink:0}.map-shell-active .brand img{width:29px;height:29px}.map-shell-active .brand small{display:none}.map-shell-active .site-header .top-nav{display:none}.map-shell-active .site-header .region-button{min-height:40px;max-width:90px;padding:5px 8px;font-size:11px}.map-shell-active .site-header .member-trigger{margin-left:auto;min-height:40px;padding:5px 9px;font-size:12px;white-space:nowrap}.map-shell-active .language-control{margin:0;flex-shrink:0}.map-shell-active .language-control select{max-width:74px;min-height:40px;font-size:11px;padding:4px 18px 4px 5px}
.map-shell-search{position:fixed;z-index:700;top:calc(var(--map-shell-top) + env(safe-area-inset-top) + 56px);left:12px;right:12px;display:flex;align-items:center;gap:8px;margin:0;padding:5px 6px 5px 15px;border:1px solid #d9e0d2;border-radius:17px;background:#fff;box-shadow:0 4px 18px #173b2520}
.map-shell-search-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.map-shell-search input{margin:0;min-width:0;width:100%;height:40px;padding:0;border:0;border-radius:0;background:transparent;font-size:16px}.map-shell-search button{flex-shrink:0;min-width:52px;min-height:44px;padding:7px 12px;border:0;border-radius:12px;background:#165e45;color:white;font-weight:700}
/* The frame is not a scroller: scrollIntoView/focus must move only its content,
   never the shared grip. Clip also retains the rounded frame without trapping
   programmatic scrolling as overflow:hidden does. */
.map-content-sheet{position:fixed;z-index:600;left:10px;right:10px;max-width:1168px;margin:auto;display:flex;flex-direction:column;overflow:hidden;overflow:clip;border:1px solid #dce4d5;border-radius:24px;box-shadow:0 -6px 28px #18362724;background:#fff;transition:height 180ms ease;min-height:56px;overscroll-behavior:contain}
.map-content-sheet.is-dragging{transition:none}.map-sheet-heading{display:flex;align-items:center;gap:4px;min-height:55px;flex:0 0 55px;padding:0 8px;border-bottom:1px solid #edf0e8;background:#fff}.map-sheet-handle{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;min-width:44px;flex:1;padding:4px 8px;background:transparent;border:0;touch-action:none;cursor:grab}.is-dragging .map-sheet-handle{cursor:grabbing}.map-sheet-grip{display:inline-block;width:36px;height:5px;border-radius:4px;background:#9aa699}.map-sheet-state{font-size:12px;font-weight:700;color:#536c59}.map-sheet-step{min-height:44px;min-width:44px;border:0;background:#eff4e9;border-radius:12px;font-size:24px;line-height:1}.map-sheet-step:disabled{opacity:.3}.map-sheet-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding:16px 0 24px}.map-content-sheet[data-state="min"] .map-sheet-scroll{visibility:hidden;pointer-events:none}
.map-shell-active #main{max-width:none;width:100%;margin:0;padding:0 18px 24px}.map-shell-active #main>.section{padding-top:18px}.map-shell-active .map-sheet-scroll>footer{margin:0;padding:18px}.map-shell-active .map-sticky{position:static!important;top:auto!important;box-shadow:none}.map-shell-active .map-sticky-head{padding-top:0}.map-shell-active .map-sticky #embedded-map-status{font-size:11px}.map-shell-active .radio-panel{max-width:none}.map-shell-active .radio-workspace{margin-top:14px}.map-shell-active .radio-hero{margin-top:0}.map-shell-active .radio-embedded-chat .lounge-messages{max-height:32dvh}.map-shell-active .map-sheet-scroll .section{scroll-margin-top:12px}
.map-shell-active .bottom-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:fixed;z-index:710;top:auto;bottom:calc(100% - var(--map-shell-top) - var(--map-shell-vh) + env(safe-area-inset-bottom) + 4px);left:10px;right:10px;max-width:700px;margin:auto;padding:5px 5px;border:1px solid #d8e2d3;border-radius:23px;background:#fffffff2;backdrop-filter:blur(16px);box-shadow:0 4px 22px #16372428;transform:none!important;pointer-events:auto!important}.map-shell-active .bottom-nav a{display:flex;position:relative;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-width:0;min-height:50px;font-size:10px;line-height:1.2;padding:2px;overflow-wrap:anywhere}.map-shell-active .bottom-nav svg{width:22px;height:22px}.map-shell-active .bottom-nav a.active{background:#e9f1e1;border-radius:16px;color:#165e45;font-weight:800}
.map-shell-active .radio-player-dock{z-index:705;bottom:calc(100% - var(--map-shell-top) - var(--map-shell-vh) + var(--map-shell-nav-height) + 10px + env(safe-area-inset-bottom));width:min(900px,calc(100% - 20px));margin:0;min-height:48px}.map-shell-active .radio-player-dock button{min-width:44px;min-height:44px}.map-shell-active .radio-player-copy small{display:none}
.map-shell-active .leaflet-top{top:calc(var(--map-shell-top) + env(safe-area-inset-top) + 122px)}.map-shell-active .leaflet-control-attribution{max-width:60vw;font-size:8px}.map-shell-active .leaflet-bottom{bottom:calc(var(--map-shell-nav-height) + 14px)}.map-shell-active .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}
.map-shell-active.map-shell-keyboard .bottom-nav{display:none}.map-shell-active.map-shell-keyboard .radio-player-dock{flex-wrap:nowrap;padding:3px 8px;gap:6px}.map-shell-active.map-shell-keyboard .radio-player-dock audio{display:none}.map-shell-active.map-shell-keyboard #radio-compact-toggle{display:block}.map-shell-active.map-shell-keyboard .radio-player-copy{flex:1;min-width:0;order:0;font-size:12px}.map-shell-active.map-shell-keyboard .radio-player-dock button{order:1}.map-shell-active.map-shell-keyboard .map-sheet-scroll{scroll-padding-bottom:24px}
@media(min-width:901px){.map-shell-active .site-header,.map-shell-search{max-width:700px;margin:auto}.map-content-sheet{left:24px;right:24px}.map-shell-active .bottom-nav{padding:6px 16px}.map-shell-active .bottom-nav a{font-size:11px}.map-shell-active .radio-player-dock{flex-wrap:nowrap}.map-shell-active .radio-player-dock audio{width:290px}}
@media(max-width:640px){.map-shell-active #main{padding:0 12px 20px}.map-shell-active .radio-workspace{grid-template-columns:1fr}.map-shell-active .site-header{gap:5px;padding:4px 7px}.map-shell-active .site-header .region-button{max-width:70px}.map-shell-active .radio-player-dock{padding:4px 8px;gap:6px;flex-wrap:nowrap}.map-shell-active .radio-player-dock audio{width:110px;height:34px;order:0}.map-shell-active .radio-player-copy{flex:1;min-width:0;order:0;font-size:12px}.map-shell-active .radio-player-dock button{order:1}.map-shell-active .radio-player-dock #radio-player-close{font-size:23px}.map-shell-active .radio-hero-art{display:none}.map-shell-active .bottom-nav{left:7px;right:7px}.map-content-sheet{left:7px;right:7px}}
@media(max-width:360px){.map-shell-active .brand span{font-size:16px}.map-shell-active .brand img{width:24px;height:24px}.map-shell-active .site-header .region-button{max-width:60px}.map-shell-active .language-control select{max-width:58px}.map-shell-active .radio-player-dock audio{display:none}.map-shell-active #radio-compact-toggle{display:block}.map-sheet-state{font-size:11px}}
@media(prefers-reduced-motion:reduce){.map-content-sheet{transition:none}}

/* Keep required map attribution visible even above the fully expanded sheet. */
.map-shell-active .leaflet-control-attribution{position:fixed;top:calc(var(--map-shell-top) + env(safe-area-inset-top) + 108px);bottom:auto;right:12px;max-width:calc(100vw - 24px);font-size:9px;z-index:720;background:#fffffff0;border-radius:4px;padding:1px 4px}

.map-shell-attribution{position:fixed;z-index:700;top:calc(var(--map-shell-top) + env(safe-area-inset-top) + 110px);right:14px;background:#fffffff0;color:#365343;font-size:9px;line-height:16px;padding:0 4px;border-radius:4px}

.map-shell-layers{position:fixed;z-index:500;top:calc(var(--map-shell-top) + env(safe-area-inset-top) + 132px);left:64px;right:12px;display:flex;gap:6px;pointer-events:none}.map-shell-layers button{pointer-events:auto;min-height:44px;padding:6px 12px;border:1px solid #d4dfce;border-radius:22px;background:#fffffff2;box-shadow:0 2px 8px #25462f20;font-size:12px}.map-shell-layers [aria-pressed=true]{border-color:#7867af;color:#493274;background:#f6f0ff}
/* Legacy sticky-map offsets do not apply inside the independent sheet scroller. */
.map-shell-active .map-sheet-scroll *{scroll-margin-top:12px!important;scroll-margin-bottom:12px!important}

/* One first-use choice row; all tools stay available without signing in. */
.growth-entry{margin:8px 0 16px}.growth-entry p{margin:0 0 10px;font-size:13px;line-height:1.6}.growth-entry nav{display:flex;flex-wrap:wrap;gap:8px}.growth-entry a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 13px;border:1px solid #c8d8c2;border-radius:24px;color:#165e45;background:#f2f7ed;font-size:13px;font-weight:700;overflow-wrap:anywhere;max-width:100%}.growth-entry a:focus-visible{outline:3px solid #165e45;outline-offset:3px}.map-shell-active [data-map-mode="housing"] .growth-entry{display:none}

.meal-entry{padding:14px;margin:12px 0 18px;border:1px solid #d3dfc9;border-radius:16px;background:#f7faf1}.meal-entry h2{font-size:18px;margin:0 0 6px}.meal-entry p{font-size:12px;line-height:1.6;margin:6px 0;overflow-wrap:anywhere}.meal-region-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.meal-region-choices a{display:flex;flex-direction:column;min-width:0;min-height:64px;padding:10px;border:1px solid #c9d8be;background:white;border-radius:12px;text-decoration:none;color:#165e45}.meal-region-choices strong{font-size:13px;overflow-wrap:anywhere}.meal-region-choices span{font-size:11px;margin-top:4px}.meal-return-actions{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}.meal-return-actions>a,.meal-return-actions>button{min-height:44px;display:inline-flex;align-items:center;font-size:12px;white-space:normal}.meal-entry .meal-device-note{color:#59684d}.meal-entry a:focus-visible{outline:3px solid #165e45;outline-offset:2px}@media(max-width:480px){.meal-region-choices{grid-template-columns:1fr}.meal-region-choices a{min-height:44px;flex-direction:row;justify-content:space-between;gap:8px;align-items:center}.meal-region-choices span{margin:0;max-width:45%}}

/* One unchanged 48px toolbar: compact brand copy, not a second header row. */
.map-shell-active .brand span{display:flex;align-items:center;gap:8px}
.map-shell-active .brand .brand-tagline{display:block;font-size:12px;line-height:1.2;color:#486149;font-weight:500;letter-spacing:0;white-space:nowrap}
.map-shell-search[hidden]{display:none}
.map-content-sheet[data-state="expanded"]{z-index:701;border-radius:18px}
@media(max-width:640px){.map-shell-active .brand span{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:17px;line-height:1.1}.map-shell-active .brand .brand-tagline{font-size:11px;max-width:none;white-space:nowrap;line-height:1.1}.map-shell-active .brand img{display:block;width:24px;height:24px;flex:0 0 24px}.map-shell-active .site-header .brand{flex-shrink:1;min-width:0}.map-shell-active .site-header .region-button{max-width:58px;overflow:hidden}.map-shell-active .language-control select{max-width:62px}}

.map-shell-layers[hidden]{display:none}.map-shell-active .site-header{z-index:702}

.map-content-sheet.is-dragging{z-index:701}

/* Do not let growing layer controls cover mobile map markers. Swipe this row sideways. */
@media(max-width:640px){.map-shell-layers{left:12px;right:12px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;pointer-events:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:4px}.map-shell-layers>button{flex:0 0 auto;white-space:nowrap}}
@media(max-width:640px){.map-shell-active #map-shell-layers{height:48px;max-height:48px;align-items:center}.map-shell-active #map-shell-layers>button{flex:0 0 auto;flex-shrink:0;white-space:nowrap;overflow-wrap:normal;height:44px;min-height:44px;max-height:44px}}

/* One active map layer; switching never changes saved plans or bookmarks. */
.map-shell-layers button[data-map-layer]{border:1px solid #d9e4ce;border-radius:18px;padding:7px 11px;min-height:40px;background:#fffdf5;text-decoration:none;white-space:nowrap}.map-shell-layers button[data-map-layer][aria-pressed="true"]{background:#245d45;color:white;border-color:#245d45}.map-shell-layers button[data-map-layer]:focus-visible{outline:3px solid #dda859;outline-offset:2px}
body:is([data-map-layer="health"],[data-map-layer="commonFees"],[data-map-layer="radio"]) :is(#explore-feed,#chat-explore-details,#experience-controls,#explore-kinds,#map-legacy-list,#housing-guide,#map-filter-details,#community-panel,#place-selection,#selected-group-bar,.price-focus-control,.map-modes,#map-layer-price-options,#places-title,#embedded-map-status){display:none!important}
body:not([data-map-layer="health"]) :is(#health-map-panel,#health-map-fit){display:none!important}
body:not([data-map-layer="commonFees"]) #housing-fee-panel{display:none!important}
body:not([data-map-layer="radio"]) :is(#podcast-map-list,.podcast-map-tools,.podcast-map-status){display:none!important}
/* The explore surface must not mix unrelated price/planning blocks into a non-price layer. Budget remains available on its own route. */
body:is([data-map-layer="health"],[data-map-layer="commonFees"],[data-map-layer="radio"]):is([data-map-shell-route="map"],[data-map-shell-route="home-map"]) [data-view="map"] :is(#growth-entry,#meal-entry,#health-map-open,#map-sticky,#monthly-budget,#monthly-budget-open,#location-help,.map-cluster-key,.eyebrow,.housing-more-sources){display:none!important}
body:is([data-map-layer="health"],[data-map-layer="commonFees"],[data-map-layer="radio"]):is([data-map-shell-route="map"],[data-map-shell-route="home-map"]) [data-view="map"] :is(.lounge-entry,.map-data-guide,.compact-source-status,.privacy-note){display:none!important}
body:is([data-map-layer="health"],[data-map-layer="commonFees"],[data-map-layer="radio"]):is([data-map-shell-route="map"],[data-map-shell-route="home-map"]) #budget-live-summary{display:none!important}
body[data-map-layer="housing"]:is([data-map-shell-route="map"],[data-map-shell-route="home-map"]) :is(#growth-entry,#meal-entry,#health-map-open){display:none!important}
body:is([data-map-layer="health"],[data-map-layer="commonFees"],[data-map-layer="radio"]):is([data-map-shell-route="map"],[data-map-shell-route="home-map"]) #budget-sheet-total{display:none!important}
@media(max-height:450px){body:is([data-map-layer="health"],[data-map-layer="commonFees"],[data-map-layer="radio"]):has(.map-content-sheet[data-state="full"]) #map-shell-layers{display:none}}

/* Short-height detail keeps confirmation controls above the navigation; plans are preserved. */
.map-shell-active.map-shell-compact-detail #budget-sheet-total{display:none!important}

.housing-facility-potato{display:block;position:relative;width:56px;height:74px}.housing-facility-house-disc{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:#f4f3ec;border:2px solid #77847a;box-shadow:0 2px 6px #0003}.housing-facility-house-disc svg{display:block;width:48px;height:48px}.housing-facility-potato .housing-facility-count{position:absolute;top:56px;right:-3px;min-width:20px;box-sizing:border-box;text-align:center;background:#46564c;color:#fff;border:1px solid #fff;border-radius:12px;padding:1px 6px;font:700 12px/1.4 sans-serif;white-space:nowrap}.housing-facility-map-pin{background:none;border:0}.housing-facility-map-pin:focus{outline:3px solid #254c9c;outline-offset:3px}

.housing-facility-attribution{position:fixed;right:12px;top:111px;z-index:710;font-size:9px;background:#fffffff2;padding:2px 5px;border-radius:4px;color:#304d39}.housing-facility-attribution[hidden]{display:none}

/* Desktop workspace: every main tab and detail lives on the left, map stays independent. */
@media(min-width:900px){
 body.map-shell-active{--desktop-panel-width:30vw}
 .map-shell-active .map-shell-background{left:var(--desktop-panel-width)}
 .map-shell-active .site-header{left:8px;right:auto;width:calc(var(--desktop-panel-width) - 16px);max-width:none;margin:0;box-sizing:border-box;gap:4px;padding:4px 6px}
 .map-shell-active .brand .brand-tagline{display:none}.map-shell-active .site-header .brand{font-size:16px}.map-shell-active .brand img{width:25px;height:25px}
 .map-shell-active .site-header .region-button{max-width:52px;padding:3px;font-size:10px}.map-shell-active .language-control select{max-width:58px}.map-shell-active .site-header .member-trigger{font-size:11px;padding:3px 5px}
 .map-shell-active .map-shell-search{left:8px;right:auto;width:calc(var(--desktop-panel-width) - 16px);max-width:none;margin:0;box-sizing:border-box}
 .map-shell-active #map-shell-layers{left:8px;right:auto;top:128px;width:calc(var(--desktop-panel-width) - 16px);display:flex;flex-wrap:wrap;gap:4px;pointer-events:auto;z-index:700}
 .map-shell-active #map-shell-layers button{min-height:36px;font-size:11px;padding:5px 8px}
 .map-shell-active .map-content-sheet{min-height:0;left:0;right:auto;width:var(--desktop-panel-width);max-width:none;margin:0;border-radius:0;border:0;border-right:1px solid #dce4d5;box-sizing:border-box;box-shadow:none;transition:none;z-index:600}
 .map-shell-active .map-sheet-heading{display:none}.map-shell-active .map-content-sheet[data-state="min"] .map-sheet-scroll{visibility:visible;pointer-events:auto}
 .map-shell-active #main{padding:0 14px 24px}.map-shell-active #main>.section{padding-top:8px}
 .map-shell-active .bottom-nav{left:5px;right:auto;bottom:5px;width:calc(var(--desktop-panel-width) - 10px);max-width:none;box-sizing:border-box;margin:0;padding:5px 2px;gap:0;border-radius:15px}
 .map-shell-active .bottom-nav a{font-size:10px;min-height:50px}.map-shell-active .bottom-nav svg{width:20px;height:20px}
 .map-shell-active .radio-player-dock{left:calc(var(--desktop-panel-width) + 10px);right:10px;bottom:10px;width:auto;max-width:none;transform:none}
 .map-shell-active .leaflet-top{top:24px}.map-shell-active .leaflet-bottom{bottom:8px}
 .map-shell-active .map-shell-attribution,.map-shell-active .housing-facility-attribution,.map-shell-active .leaflet-control-attribution{top:8px;right:12px;max-width:calc(70vw - 24px)}
 .map-shell-active .map-sheet-scroll :is(.radio-workspace,.grid,.two-col,.tool-grid,.cards-grid,.explore-feed-list){grid-template-columns:minmax(0,1fr)}
 .map-shell-active .map-sheet-scroll :is(input,select,textarea,button){max-width:100%}
}

.direct-sentence-search #chat-panel>:not(#chat-results){display:none!important}
.ai-first-choice{padding:8px;margin:6px 0;border:1px solid #d9e4ce;border-radius:10px;font-size:12px}.ai-first-choice p{margin:0 0 6px}.ai-first-choice button{font-size:12px;min-height:40px;margin:0 4px 4px 0}.ai-first-choice a{font-size:11px}

.other-search-menu-heading{font-weight:700;border-top:1px solid #d9dfd5;padding-top:12px;margin-top:8px}

.map-shell-search #map-search-info{min-width:30px;width:30px;min-height:36px;padding:2px;background:transparent;color:#667261;font:20px/1 system-ui}

.unified-map-search{padding:16px;background:var(--paper,#fff);border-radius:18px;margin-bottom:18px;overflow-wrap:anywhere}
.unified-map-search[hidden]{display:none}
.unified-map-search-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}
.unified-map-search-list .source-card{min-width:0;padding:14px}
.unified-map-search-list button{white-space:normal;max-width:100%}

/* Price cap stays outside the scroll panel: always visible on PC, opt-in on phones. */
.map-shell-active>.map-price-control{position:fixed;z-index:704;left:50%;top:190px;transform:translateX(-50%);width:min(360px,calc(100vw - 24px));padding:12px 16px 8px;border:1px solid #b6c9ab;border-radius:18px;background:#fffffff7;box-shadow:0 5px 24px #153b2833;box-sizing:border-box}
.map-shell-active>.map-price-control[hidden]{display:none!important}
.map-price-control .price-focus-heading{padding-right:32px;gap:12px}
.map-price-control .price-focus-heading label{font-size:12px}
.map-price-control .price-focus-heading output{font-size:14px}
.map-price-control input[type="range"]{height:48px;min-height:48px;touch-action:pan-y}
.map-price-control .price-focus-labels{font-size:10px}
.map-price-close{position:absolute;right:4px;top:2px;width:44px;height:44px;min-height:44px;padding:0;background:transparent;border:0;font-size:24px;color:#165e45}
.map-price-close:focus-visible{outline:2px solid #165e45;outline-offset:-4px}
@media(min-width:900px){
 .map-shell-active>.map-price-control{left:calc(var(--desktop-panel-width) + (100vw - var(--desktop-panel-width))/2);top:20px;transform:translateX(-50%);width:min(360px,calc(70vw - 80px))}
 .map-price-control .price-focus-heading{padding-right:0}
 .map-price-close{display:none}
}
@media(max-width:899px) and (max-height:450px){
 .map-shell-active>.map-price-control{padding:8px 14px 4px}
 .map-price-control .price-focus-labels{display:none}
}

/* The map itself and price control are reparented before these redundant summaries are hidden. */
.map-shell-active #map-sticky,.map-shell-active #health-map-open,.map-shell-active #map-explore-details>.lounge-entry{display:none!important}

.map-shell-active #explore-districts{display:none!important}

/* News expands the existing workspace rather than replacing it with a centered
   floating page. Keep the same header/nav anchors and the mounted map state. */
.map-shell-active[data-map-shell-route="news"] .map-shell-background,
.map-shell-active[data-map-shell-route="news"] :is(.map-shell-attribution,.housing-facility-attribution,.leaflet-control-attribution){visibility:hidden;pointer-events:none}
.map-shell-active[data-map-shell-route="news"] .map-content-sheet{left:7px;right:7px;width:auto;max-width:none;margin:0;border:1px solid #dce4d5;border-radius:18px;background:#fff;box-shadow:none}
.map-shell-active[data-map-shell-route="news"] .map-sheet-heading{display:none}
.map-shell-active[data-map-shell-route="news"] .map-content-sheet[data-state="min"] .map-sheet-scroll{visibility:visible;pointer-events:auto}
.map-shell-active[data-map-shell-route="news"] #main{max-width:1080px;margin:auto;padding:0 24px 24px}
.map-shell-active[data-map-shell-route="news"] .news-pane>.section-heading{max-width:720px;margin:18px auto 8px}
.map-shell-active[data-map-shell-route="news"] #news-official-wrap{max-width:720px;margin:auto}
.map-shell-active[data-map-shell-route="news"] .radio-player-dock{left:12px;right:12px;max-width:700px;width:auto;margin:auto;bottom:calc(var(--map-shell-nav-height) + 12px)}
:lang(ko) .news-pane :is(h1,h2,h3,p,a,button){word-break:keep-all;overflow-wrap:anywhere}
@media(min-width:900px){
 .map-shell-active[data-map-shell-route="news"] .map-content-sheet{left:0;right:0;width:100%;border:0;border-radius:0}
 .map-shell-active[data-map-shell-route="news"] .site-header{left:8px;right:8px;width:auto;max-width:none;margin:0}
 .map-shell-active[data-map-shell-route="news"] .bottom-nav{left:5px;right:5px;width:auto;max-width:none;margin:0}
}
@media(max-width:600px){
 .map-shell-active[data-map-shell-route="news"] #main{padding:0 12px 20px}
 .map-shell-active[data-map-shell-route="news"] .news-pane>.section-heading{margin-top:12px}
 .map-shell-active[data-map-shell-route="news"] .story-intro{padding:16px}
 .map-shell-active[data-map-shell-route="news"] .story-intro h2{font-size:23px}
}
/* Keep the approved brand promise visible without widening the compact header. */
.map-shell-active .brand .brand-tagline{display:block;font-size:10px;line-height:1.25}

/* Keep native SDK button handlers, but clear mobile header/search/layer overlays.
   Match only the native control with both direct zoom buttons, never map pins. */
.map-shell-active #area-map div:has(>button[title="확대"]):has(>button[title="축소"]){top:calc(var(--map-shell-top) + env(safe-area-inset-top) + 184px)!important}
@media(max-width:900px){.map-shell-active #area-map div:has(>button[title="확대"]):has(>button[title="축소"])>div{display:none!important}}
@media(min-width:901px){.map-shell-active #area-map div:has(>button[title="확대"]):has(>button[title="축소"]){top:76px!important}}

/* Facility feedback: retain every registry point; orange denotes location, not price quality. */
.housing-facility-house-disc{background:#fff1e4;border-color:#ed761d;box-shadow:0 3px 8px #9c470533;position:relative}.housing-facility-house-disc:after{content:"";position:absolute;left:20px;bottom:-10px;width:13px;height:13px;transform:rotate(45deg);background:#fff1e4;border-right:2px solid #ed761d;border-bottom:2px solid #ed761d}.housing-facility-potato .housing-facility-count{background:#c4540c}.housing-facility-potato .housing-facility-price{left:50%;right:auto;transform:translateX(-50%);padding:2px 7px;background:#c4540c}.housing-photo-contribute{padding:12px;border:1px dashed #df8b40;border-radius:12px;background:#fff8ef}.housing-roadview-direct{display:block;margin:8px 0;color:#9d440c}.housing-photo-contribute p{margin:4px 0 10px}

.housing-facility-potato.address-only .housing-facility-house-disc{width:16px;height:16px;position:absolute;left:19px;top:34px;background:#89918d;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #0005}.housing-facility-potato.address-only .housing-facility-house-disc svg{display:none}.housing-facility-potato.address-only .housing-facility-house-disc:after{left:3px;bottom:-6px;width:7px;height:7px;background:#89918d;border:0}.housing-facility-potato.address-only .housing-facility-count{top:58px;background:#65716b;font-size:10px}.housing-facility-potato.has-information .housing-facility-house-disc img{display:block;width:48px;height:52px;object-fit:contain}.housing-inline-roadview{margin:12px 0;padding:10px;border:1px solid #d8ddd7;border-radius:12px;background:#f8faf7}.housing-inline-roadview-canvas{height:220px;width:100%;border-radius:8px;overflow:hidden}.housing-inline-roadview p{font-size:12px;line-height:1.5;margin:7px 0}

/* /responsive.css */
/* Layout follows the available panel width, including desktop map sidebars. */
:is(#main,.map-sheet-scroll,.savings-feed,.tools-panel,.monthly-budget,.receipt-panel){container-type:inline-size;container-name:app-content;min-inline-size:0}
:is(.savings-grid,.source-grid,.places-grid,.housing-info-list,.reading-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.tools-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
:is(.budget-workspace,.two-col,.tool-grid,.cards-grid,.radio-workspace){grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}
:is(.savings-toolbar,.budget-scope,.budget-form-grid,.budget-inclusion-grid,.budget-coverage-grid,.budget-meal-grid,.form-pair,.places-toolbar,.housing-filters,.chat-scope,.chat-item-edit){grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}
:is(.savings-grid,.source-grid,.tools-grid,.places-grid,.budget-workspace,.form-pair,.budget-form-grid,.budget-scope)>*{min-inline-size:0;max-inline-size:100%;box-sizing:border-box}
:is(.savings-card,.source-card,.tool-card,.explore-card,.place-card,.budget-editor,.budget-checklist,.budget-summary,.receipt-panel,.housing-info-card,.chat-panel,.chat-offer-card){min-inline-size:0;max-inline-size:100%;box-sizing:border-box}
:is(.savings-card,.source-card,.explore-card,.place-card){padding:clamp(.75rem,4cqi,1.375rem)}
:is(.savings-card,.source-card,.tool-card,.explore-card,.place-card,.budget-editor,.receipt-panel) :is(h1,h2,h3,h4,p,span,strong,b,small,label,legend){min-inline-size:0;max-inline-size:100%;word-break:normal;overflow-wrap:anywhere}
:lang(ko) :is(.savings-card,.source-card,.tool-card,.explore-card,.place-card,.budget-editor,.receipt-panel) :is(h1,h2,h3,h4,p,span,strong,b,small,label,legend){word-break:keep-all}
:is(.savings-card h2,.source-card h3,.explore-card-price h3,.place-card h3){font-size:clamp(1rem,4.5cqi,1.25rem);line-height:1.55}
.savings-value{font-size:clamp(1.375rem,6cqi,1.75rem);line-height:1.45}
:is(.savings-card-kind,.savings-badge,.savings-area,.savings-period,.savings-early,.savings-card-footer,.savings-status,.savings-guide,.tool-card p,.explore-address,.explore-shop,.source-card p,.card-meta){font-size:max(.75rem,12px);line-height:1.65}
.explore-card .explore-shop{font-size:max(.875rem,14px);line-height:1.6}
:is(.savings-card-footer,.savings-card-top,.explore-card-head,.place-menu,.section-heading,.savings-heading,.budget-section-heading,.budget-subheading,.budget-item-heading,.budget-group-heading,.receipt-heading,.receipt-month-summary,.recurring-expenses-heading,.company-main){flex-wrap:wrap;min-inline-size:0}
.savings-card-footer>*{min-inline-size:0;max-inline-size:100%;white-space:normal}
:is(.savings-title-button,.savings-open,.source-card .text-button,.tool-card .text-button,.explore-card-actions .text-button){font-size:inherit;white-space:normal;word-break:normal;overflow-wrap:anywhere;max-inline-size:100%;min-block-size:44px}
.savings-title-button{text-align:start;min-inline-size:0}
.savings-heading h1,.tools-hero .page-title,.page-title{font-size:clamp(1.5rem,6cqi,2.5rem);line-height:1.3;overflow-wrap:anywhere;min-inline-size:0}
.savings-heading>div{flex:1 1 12rem;min-inline-size:0}
.savings-potato{flex:0 0 auto;inline-size:clamp(44px,15cqi,76px);block-size:clamp(44px,15cqi,76px);font-size:clamp(28px,8cqi,44px);transform:none}
:is(.savings-categories,.tool-filters,.filters,.explore-kinds,.housing-tabs,.chat-examples){flex-wrap:wrap;overflow-x:visible;min-inline-size:0;gap:.5rem}
:is(.savings-categories,.tool-filters,.filters,.housing-tabs,.chat-examples)>:is(button,a){white-space:normal;max-inline-size:100%;min-inline-size:44px;min-block-size:44px;flex:0 1 auto;overflow-wrap:anywhere}
.explore-kinds button{min-block-size:44px;min-inline-size:44px;max-inline-size:100%;flex:1 1 3.5rem}
.explore-kinds button>span{max-inline-size:100%}
.savings-options label{white-space:normal;max-inline-size:100%;align-items:flex-start;line-height:1.6}
.savings-options input{flex:0 0 17px;margin-block-start:3px}
:is(.savings-options,.geo-toolbar,.tools-next,.backup-actions,.budget-storage-actions,.budget-editor-actions,.budget-quick-add,.receipt-list-actions,.chat-composer,.company-links){flex-wrap:wrap;min-inline-size:0}
.source-toolbar{flex-wrap:wrap;min-inline-size:0}
.source-toolbar .search{min-inline-size:0;inline-size:100%;max-inline-size:100%;box-sizing:border-box}
.nearby-panel{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));min-inline-size:0;max-inline-size:100%;box-sizing:border-box;padding:clamp(.75rem,4cqi,1.75rem);gap:clamp(.75rem,3cqi,1.5rem)}
.nearby-panel>*{min-inline-size:0;max-inline-size:100%;overflow-wrap:anywhere}
.nearby-panel h2{font-size:clamp(1.25rem,5cqi,1.5rem);line-height:1.45;overflow-wrap:anywhere}
.nearby-actions>*{min-inline-size:0;max-inline-size:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}
.nearby-actions small{font-size:max(.75rem,12px);line-height:1.6}
.experience-controls{flex-wrap:wrap;min-inline-size:0}
.experience-controls>div{flex:1 1 13rem;flex-wrap:wrap;min-inline-size:0;max-inline-size:100%;box-sizing:border-box}
.experience-controls>div>button{flex:1 1 6rem;min-inline-size:44px;white-space:normal}
.explore-feed-heading,.map-sticky-head,.lounge-entry{flex-wrap:wrap;min-inline-size:0;max-inline-size:100%;box-sizing:border-box}
:is(.explore-feed-heading,.map-sticky-head,.lounge-entry)>*{min-inline-size:0;max-inline-size:100%;box-sizing:border-box;overflow-wrap:anywhere}
.explore-feed-heading label{flex:1 1 11rem;flex-shrink:1;max-inline-size:100%}
.lounge-entry-copy{flex:1 1 8rem;min-inline-size:0;overflow-wrap:anywhere}
.lounge-entry small{max-inline-size:100%;box-sizing:border-box;overflow-wrap:anywhere}
:is(.savings-detail-actions,.tools-next){grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}
:is(.budget-editor-actions,.budget-storage-actions,.budget-quick-add)>.button{flex:1 1 9rem;min-inline-size:0;white-space:normal}
:is(.savings-toolbar,.budget-scope,.budget-form-grid,.form-pair,.places-toolbar,.housing-filters,.receipt-dialog,.recurring-expense-dialog,.member-dialog,.chat-panel) :is(label,fieldset){min-inline-size:0;max-inline-size:100%;box-sizing:border-box}
:is(input,select,textarea){box-sizing:border-box}
:is(.savings-feed,.monthly-budget,.receipt-panel,.tools-panel,.map-sheet-scroll,dialog) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-inline-size:0;max-inline-size:100%;inline-size:100%;min-block-size:44px;font-size:max(.875rem,14px)}
:is(.savings-feed,.monthly-budget,.receipt-panel,.tools-panel,.map-sheet-scroll,dialog) :is(button,.button,.text-button,summary){max-inline-size:100%;min-block-size:44px;font-size:max(.75rem,12px);white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}
.savings-card .savings-title-button{font:inherit;line-height:inherit}
:is(.button,.text-button){min-inline-size:44px}
:is(.map-sheet-scroll,dialog) button{min-inline-size:44px}
.money-input{flex-wrap:wrap;min-inline-size:0}
.money-input input{flex:1 1 9rem;inline-size:auto;min-inline-size:min(100%,9rem)}
.money-input select{flex:0 1 5.5rem;inline-size:5.5rem;min-inline-size:min(100%,5.5rem)}
:is(.budget-item-heading>strong,.budget-group-heading>strong,.place-menu b){white-space:normal;max-inline-size:100%;overflow-wrap:anywhere;flex-shrink:1}
.place-rating-stars{grid-template-columns:repeat(auto-fit,minmax(min(100%,44px),1fr));max-inline-size:100%}
.place-rating-choice{min-inline-size:44px;min-block-size:66px}
.place-feedback fieldset{min-inline-size:0;max-inline-size:100%;padding-inline:0}
.place-rating-summary{flex-wrap:wrap}
:is(dialog,dialog.savings-dialog,dialog.receipt-dialog,dialog.member-dialog,dialog.recurring-expense-dialog,dialog.housing-photo-dialog){box-sizing:border-box;inline-size:min(36rem,calc(100vw - 24px));max-inline-size:calc(100vw - 24px);min-inline-size:0;max-block-size:calc(100dvh - 24px);overflow:auto;overflow-wrap:anywhere;padding:clamp(.75rem,4vw,1.5rem)}
dialog :is(.dialog-heading,.savings-dialog-head){min-inline-size:0;gap:.5rem;flex-wrap:wrap}
dialog :is(h1,h2,h3){min-inline-size:0;max-inline-size:100%;overflow-wrap:anywhere;line-height:1.45}
dialog :is(.form-pair,.receipt-pickers,.savings-detail-actions){grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}
dialog .savings-detail-actions .button{inline-size:100%}
.savings-dialog dl{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.5rem}
.savings-dialog dt{font-weight:700}
.savings-dialog dd{min-inline-size:0;max-inline-size:100%}
.savings-dialog .savings-detail-value{font-size:clamp(1.25rem,5vw,1.75rem)}
/* Named containers keep nested content legible even in a wide viewport. */
@container app-content (max-width:28rem){
 :is(.monthly-budget,.receipt-panel,.budget-checklist,.budget-editor,.budget-summary,.chat-panel){padding:.75rem}
 :is(.budget-workspace,.budget-scope,.budget-form-grid,.budget-coverage-grid,.budget-meal-grid,.budget-inclusion-grid,.form-pair,.savings-toolbar,.tools-grid,.housing-info-list){grid-template-columns:minmax(0,1fr)}
 .budget-summary{position:static;grid-row:1}
 .budget-full,.housing-search{grid-column:auto}
 :is(.savings-heading,.section-heading,.receipt-heading,.budget-section-heading){gap:.75rem}
 :is(.savings-heading,.section-heading,.receipt-heading,.budget-section-heading)>*{max-inline-size:100%}
 .budget-count{white-space:normal}
 .budget-item-actions{flex-wrap:wrap;gap:.75rem}
 .budget-total,.big-number{font-size:clamp(1.375rem,8cqi,2rem);line-height:1.5}
}

/* Admin details live in the same narrow map panel: size cards by their container,
   never by the desktop viewport. No metrics, permissions or refresh logic change. */
.admin-panel{container-type:inline-size;container-name:admin-content;min-inline-size:0;max-inline-size:100%}
.admin-panel :is(.admin-grid,.admin-traffic-grid,.admin-stat-breakdown,.admin-growth-history){grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
.admin-panel :is(.admin-grid,.admin-traffic-grid)>article{min-inline-size:0;max-inline-size:100%;box-sizing:border-box;padding:clamp(.75rem,4cqi,1.25rem)}
.admin-panel .admin-grid .admin-member-card{padding:0}
.admin-panel .admin-member-card>button{min-inline-size:0;max-inline-size:100%;box-sizing:border-box;padding:clamp(.75rem,4cqi,1.25rem);white-space:normal}
.admin-panel :is(h1,h2,h3,p,span,small,strong,label,summary){min-inline-size:0;max-inline-size:100%;word-break:normal;overflow-wrap:anywhere}
:lang(ko) .admin-panel :is(h1,h2,h3,p,span,small,strong,label,summary){word-break:keep-all}
.admin-panel :is(.admin-grid,.admin-traffic-grid) strong{font-size:clamp(1.25rem,8cqi,1.75rem);line-height:1.35;font-variant-numeric:tabular-nums}
.admin-panel :is(.admin-grid,.admin-traffic-grid) small{font-size:.75rem;line-height:1.65}
.admin-panel :is(.admin-actions,.admin-stat-nav){flex-wrap:wrap;min-inline-size:0;gap:.5rem}
.admin-panel .admin-actions>:is(button,a){flex:1 1 9rem;min-inline-size:0;max-inline-size:100%;box-sizing:border-box;min-block-size:44px;white-space:normal;overflow-wrap:anywhere}
.admin-panel .admin-stat-nav button{max-inline-size:100%;white-space:normal;overflow-wrap:anywhere}
.admin-panel :is(input,select,textarea){min-inline-size:0;max-inline-size:100%;box-sizing:border-box}
.admin-panel :is(.admin-stat-table-wrap,pre){min-inline-size:0;max-inline-size:100%;overflow-x:auto}
.admin-panel pre{white-space:pre-wrap;overflow-wrap:anywhere}
@container admin-content (max-width:28rem){
 .admin-panel :is(.admin-grid,.admin-traffic-grid,.admin-stat-breakdown,.admin-growth-history){grid-template-columns:minmax(0,1fr)}
 .admin-traffic-history li{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:.375rem .5rem}
 .admin-traffic-history li>span:last-child{grid-column:1/-1;text-align:start;overflow-wrap:anywhere}
 .admin-panel h1{font-size:1.5rem;line-height:1.4}
 .admin-panel h2{font-size:1.25rem;line-height:1.45}
}
