/* page */
body, html {
	min-height: 101vh;
	margin: 0;
	padding: 0;
	font-family: Tahoma,Verdana,Arial,sans-serif;
	scroll-behavior: smooth;
}
@media (max-width: 768px) {
  body {
    font-size: 14px;
  }
  .sidebar, .results-panel {
    width: 100%;
    position: relative;
    font-size: 12px;
  }
}
/* form */
:focus {
	/* 
    outline: #287be373 solid 4px;*/
}

/* logo */
.eg-lab-logo {
	display: inline-block;
	font-weight: bolder;
	font-size: .9em;
	z-index: 1;
    transform: rotate(-367deg);
    transition: all 1s cubic-bezier(0.03, 0.57, 0.37, 1.43);
}
.eg-lab-logo__eg {
	color: red;
	z-index: 20;
}
.eg-lab-logo__o {
	display: inline-block;
	position: relative;
	margin: -0.33em -0.2em;
	height: 1.2em;
	width: 1.2em;
	border-radius: 50%;
	background: yellow;
	font-size: 1.em;
	z-index: 10;
	transform: rotate(-765deg);
    transition: all 1.62s cubic-bezier(0.03, 0.57, 0.37, 1.43);
}
.eg-lab-logo__o:after {
	position: absolute;
	left: -32%;
	top: -86%;
	content: '☺';
	width: 1.44em;
	line-height: 1.44em;
	color: black;
	font-size: 1.9em;
}
.eg-lab-logo__lab {
	color: green;
	z-index: 20;
}
.eg-lab-version {
	font-size: .8em;
	font-weight: bolder;
	color: red;
}

#simulatorCanvas {
  display: block;
  margin: 0 auto; /* horizontalus centravimas */
  width: 100%;
  height: 100vh;
}

/* iframe */
.iframe .head,
.iframe .welcome,
.iframe .geodesic form,.iframe .geodesic form,
.iframe .stat.transparent {
    display: block !important;
}
.iframe .budget-list { display: none }



/* shortcuts */
.absolute { position: absolute; }
.transparent { background-color: white; background-color: rgba(255,255,255,0.62); }
.right { right: 0; }
.left { left: 0; }
.bottom { bottom: 0; }
.margin { margin: 1em; }
.big-font { font-size: 141%; }
.small-font { font-size: 70%; }
.red {color: red}
.gray {color: gray}
.bold {font-weight: bold}
.pseudo { border-bottom: 1px black dashed; text-decoration: none; color: green; }

/* buttons */
.button {
	display: inline-block;
	padding: .5em .8em;
	height: 2em;
	line-height: 2em;
	border-radius: 0;
	border: 1px solid gray;
	background-color: #ddd;
	cursor: pointer;
}
.button.round { border-radius: 1.5em; text-align: center; }
.button.active { background-color: white; }
.button:hover { background-color: #eee; }
/*.button.active { color: white; }*/

/* button list */
.button-list_inline {
    white-space: nowrap;
}
.button-list {
	display: inline-block;
	padding-inline-start: 0;
	margin-block-start: 0;
    margin-block-end: 0;
	list-style-type: none;
}
.button-list .button {
	margin-left: -8px;
}
.button-list .button.mode.active {
	border-color: black;
}
.button-list .button.round {
	border-radius: 0;
}
.button-list .button.round:first-child {
	margin-left: 0;
    padding-left: 1.2em;
	border-top-left-radius: 1.5em;
	border-bottom-left-radius: 1.5em;
}
.button-list .button.round:last-child {
    padding-right: 1.2em;
	border-top-right-radius: 1.5em;
	border-bottom-right-radius: 1.5em;
}
.stat.transparent {
  transition: all 0.3s ease;
}
.stat.transparent .toggle:hover {
  color: #0078ff;
  transform: scale(1.02);
}
.stat.transparent .report.collapsed {
  opacity: 0;
  height: 0;
  overflow: hidden;
  transition: all 0.3s ease;
}

/* common calc place */
.geodesic { position: relative; font-size: 13px; }

/* preview place */
.geodesic canvas.preview { margin: 0; border: 0; }

/* head */
.geodesic .head {
	position: absolute;
	top: 0;
	width: 100%;
	padding: 0;
	margin: 0;
	/*font-size: 13px;*/
	text-align: right;
}
.geodesic .head .title {
	margin-right: 22em;
	text-align: left;
	padding: .5em;
	height: 1em;
	box-sizing: border-box;
	background-color: rgba(255,255,255,.62); 
	box-shadow: 0 0 2em 2em rgba(255,255,255,.62);
	_background: blue;
	z-index: 1;
}

.geodesic .welcome {
	position: absolute;
	right: 0;
	top: 0;
	box-sizing: border-box;
	width: 22em;
	padding: .5em;
	transition: height 2.8s;
	font-family: monospace;
	box-shadow: 0 0 2em 2em rgba(255,255,255,.62);
	_background: orange;
}
/*
.geodesic .welcome .sample-to-use { color: red; }
.geodesic .welcome .facebook-group { color: blue; }
*/
.geodesic .welcome > * { margin-bottom: .6em; }

.geodesic .welcome__row {
	position: relative;
	height: 0;
	overflow-y: hidden;
	text-align: right;
}
.geodesic .welcome_show .welcome__row {
	height: auto;
}

.geodesic .welcome__row:hover > .share {
	display: block;
}
/*//jsfiddle.net/ostrio/MVDh6/6/*/
.geodesic .welcome__row .share {
	display: none;
	position: absolute;
	right: 1em;
	background: white;
}
.geodesic .welcome__row .share-btn {
	display: inline-block;
	width: 16px;
	height: 16px;
	padding-left: 3px;
	float: left;
}

/* head */
.geodesic h1 { display: inline; font-size: 1.5em; margin: 0 1em }
.geodesic h2 { font-size: 18px; border-bottom: 1px solid gray; margin-top: 1em }
.geodesic h3 { font-size: 16px; }
.geodesic h4 { font-size: 14px; }
.geodesic .lang-select { font-size: 1.2em; outline: transparent solid 0; outline-offset: 0px; transition: .4s outline; }
.geodesic .lang-select:focus { outline: #287be373 solid 3.5px; }

/* info */
/*.geodesic .info { float: right }*/

/* form */
.geodesic .options {
	position: absolute;
	top: 4em;
	width: 23em;
	padding: .5em;
	box-sizing: border-box;
	box-shadow: 0 0 2em 2em rgba(255,255,255,.62);
	_background: lime;
}
.geodesic .options h3 { display: inline-block; border-bottom: 1px solid gray; font-size: 15px; color: black; }
.geodesic .options dl { min-height: 24px; line-height: 24px;
	overflow-x: auto;
	width: 100% }
.geodesic .options dt { width: 133px; float: left; text-align: right; margin-right: 4px; overflow: visible; }
.geodesic .options dd { margin-left: 133px; overflow: hidden }
.geodesic .options .sub dt { width: 157px; }
.geodesic .options .sub dd { margin-left: 157px; }
.geodesic .options input.input_text { max-width: 50px; }

.geodesic .options input,
.geodesic .options select { font-weight: bolder }

.geodesic .options input,
.geodesic .options select { margin: .3em; outline: transparent solid 0; outline-offset: 0px; transition: .4s outline; }
.geodesic .options input[type="checkbox"],
.geodesic .options input[type="radio"] { outline-offset: -.2em; }
.geodesic .options input:focus,
.geodesic .options select:focus { outline: #287be373 solid .3em; }

.geodesic .options .progress {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	width: 100%;
    line-height: 2em;
	text-align: right;
	color: #555;
}

.geodesic .mode-list {
	display: block;
	text-align: left;
}

.geodesic .mode_tent .tent-button {
	position: relative;
    display: inline-block;
    width: 1.8em;
    height: 1.8em;
    margin-right: -.5em;
    line-height: 1.8em;
    /*overflow: hidden;*/
    font-weight: 600;
}
.geodesic .mode_tent .tent-button:before {
	content: ' ';
    position: absolute;
    left: -.15em;
    width: 1.8em;
    height: 1.8em;
    border: 2px solid;
    border-radius: 50%;
    border-color: lightgray;
}
.geodesic .mode_tent .tent-button + .tent-button {
	margin-left: 1em;
}

.tent-progress {
	display: none;
	position: absolute; 
	top: 100%; 
	left: 0; 
	right: 0; 
	height: 1em; 
	background: lightgreen;
	transition: right .4s;
	font-size: 88%;
	overflow: visible;
}

.tent-image-file {
	position: absolute;
	left: -1px;
	width: 2em;
	top: -1px;
	height: 2em;
	opacity: 0;
}


/*.video-stack__item_loading:after {
    border: 2px solid transparent;
    border-top-color: #fc0;
    border-left-color: #fc0;
    background: 0 0;
    box-shadow: none;
    animation: islands-spin2 1s infinite linear;
    backface-visibility: hidden;
}*/

.geodesic .stat {
	position: absolute;
	top: 0;
	left: 100%;
	margin-left: 2em;
	border: 1px solid black;
	border-radius: 1.5em;
}
.geodesic .stat .toggle.button {
	/*display: inline-block;
	padding: .5em .7em;
    height: 1.5em;
    line-height: 1.5em;*/
    border-color: transparent;
	font-family: monospace;
	/*border: none;*/
	cursor: pointer;
}
.geodesic .stat .report { display: none; }
.geodesic .stat.active .report { display: block; line-height: 20px; font-size: 1em }
.geodesic .stat.active { padding: 6px 10px 6px 10px; background: white; }
.geodesic .stat.active .toggle.button {
	margin: -.5em 0 0 -.8em;
	border-color: white;
}
.geodesic .stat.active .content { display: block; }

/* plot */
.geodesic .budget-list { margin: 1em }
.geodesic .budget-list ul { list-style-type: none; padding: 0; margin-top: 20px; font-size: 0 }
.geodesic .budget-list li { margin-top: 20px; font-size: 12px }
.geodesic .product { display: inline-block; padding: 0 0 16px 0; vertical-align: top;}
.geodesic .product canvas { display: inline; padding-top: 10px; }
.geodesic .product-index { display: inline-block;
	width: 2em;
	line-height: 2em;
	margin-right: 1em;
	border-radius: 50%;
	text-align: center;
	text-shadow: 0 0 .5em white, 0 0 .5em white;
	box-shadow: inset 0 0 2px white;
	font-size: 1.8em;
}
.geodesic .product-index + span { font-size: 1.6em;  }




/* GEODOMAS calc polish */
body{background:linear-gradient(180deg,#ffffff,#f8fbf7)!important}
button,select,input{font-family:inherit}
#app,.app,.container,.main,.layout{max-width:none!important}
canvas{filter:drop-shadow(0 24px 40px rgba(13,31,22,.14))}


/* GEODOMAS Full UI skin (non-destructive) */
:root{
  --gd-bg:#f7f8fb;
  --gd-panel:#ffffff;
  --gd-accent:#0ea5e9;
  --gd-text:#0f172a;
  --gd-muted:#64748b;
  --gd-border:#e2e8f0;
  --gd-radius:14px;
}
body{ background:var(--gd-bg); color:var(--gd-text); font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;}
.geodesic header{ background:transparent; box-shadow:none; border-bottom:1px solid var(--gd-border); padding:8px 0;}
.geodesic .wrap{ max-width: 1480px; }
.geodesic .options{ background:var(--gd-panel); border:1px solid var(--gd-border); border-radius:var(--gd-radius); padding:14px 16px; }
.geodesic .preview{ background:var(--gd-panel); border:1px solid var(--gd-border); border-radius:var(--gd-radius); }
.geodesic .stat{ background:var(--gd-panel); border:1px solid var(--gd-border); border-radius:var(--gd-radius); }
.geodesic .mode-list .mode{ border-radius:10px; }
.geodesic .mode-list .mode.active{ background:var(--gd-accent); color:#fff; }
.geodesic .options select, .geodesic .options input[type="text"],
.geodesic .options input[type="number"]{
  border-radius:10px; border:1px solid var(--gd-border); padding:6px 8px;
}
.geodesic .options h3{ margin-top:8px; color:var(--gd-muted); }
#lang-select{ border-radius:10px; border:1px solid var(--gd-border); padding:4px 8px;}


/* Hide logo, social, ads */
.geodesic header .logo,
.geodesic header .share,
.geodesic .share,
.geodesic .ad,
.geodesic .adsbygoogle { display:none !important; }

/* Remove Tent tab (visually) */
.mode-list .mode[data-mode="tent"] { display:none !important; }

/* Layout tweaks */
.geodesic .wrap{ max-width: 1500px; margin: 0 auto; }
@media (max-width: 768px) {
  .geodesic .options {
    width: 100% !important; 
    position: relative; 
    left: 0;
    top: 0;
    bottom: auto;
    height: auto;
  }
  .geodesic .preview {
    position: relative;
    left: 0; 
    right: 0;
    width: 100% !important;
    height: 60vh !important; /* mobilams */
  }
}
.geodesic .stat { position: sticky; top: 16px; }
.geodesic .options { position: sticky; top: 16px; max-height: calc(100vh - 40px); overflow:auto; }

/* Buttons and inputs polish */
.geodesic .mode-list .mode{ padding:6px 12px; font-weight:600;}
.geodesic .options input[type="text"], .geodesic .options input[type="number"], .geodesic .options select{
  outline: none;
  transition: box-shadow .15s ease;
}
.geodesic .options input:focus, .geodesic .options select:focus{
  box-shadow: 0 0 0 3px rgba(14,165,233,.25);
}


/* One-page fixed layout */
html, body{ height:100%; overflow:hidden; }
body{ display:flex; flex-direction:column; }
.geodesic .wrap{ 
  display:grid; 
  grid-template-columns: 320px 360px 1fr; 
  grid-gap:16px; 
  height: calc(100vh - 70px);
  padding-bottom:0;
}
.geodesic .options{ grid-column:1; overflow:auto; }
.geodesic .stat{ grid-column:2; overflow:auto; max-height:none; }
.geodesic .preview{ grid-column:3; height:100%; }
.geodesic footer, .geodesic .info, .geodesic .budget-list{ display:none !important; }

/* Hide any lower "exploded layouts" (frames/triangles/nodes tables or drawings) if present */
.explode, .exploded, .framework-layout, .triangles-layout, .nodes-layout, .cuts, .bill, .tables, .sketch, .gallery, .thumbnails{
  display:none !important;
}
/* When some tabs try to append content below, keep canvas-only */
.mode-content ~ *{ display:none !important; }


/* Two-column layout: left = controls, right = spec + 3D */
html, body{ height:100%; overflow:hidden; }
body{ display:flex; flex-direction:column; }
.geodesic .wrap{
  height: calc(100vh - 70px);
  display:grid;
  grid-template-columns: 360px 1fr;
  grid-template-rows: 1fr;
  gap:16px;
}
/* Left: options panel */
.geodesic .options{
  grid-column:1;
  grid-row:1;
  position: sticky;
  top: 16px;
  height: calc(100vh - 90px);
  overflow:auto;
}
/* Right column becomes its own grid to stack spec + preview */
.geodesic .stat{
  grid-column:2;
  grid-row:1;
  align-self:start;
  max-height: 320px;
  overflow:auto;
}
.geodesic .preview{
  grid-column:2;
  grid-row:1;
  height: 100%;
}
/* Use CSS grid layering: place preview behind and stat on top-left with margin */
.geodesic .wrap{ position:relative; }
.geodesic .preview{ z-index:0; }
.geodesic .stat{ 
  z-index:1; 
  position:absolute; 
  right: calc(16px + 0px); 
  left: calc(360px + 32px);
  top: 16px;
}
/* Remove any bottom blocks */
footer, .budget-list, .info { display:none !important; }
/* Fix: prevent the mode tabs from shifting down */
.mode-list{ display:flex; gap:8px; flex-wrap:wrap; }


/* Right side: absolute fill for preview; spec floats above */
html, body{ height:100%; overflow:hidden; }
.geodesic .wrap{
  height: calc(100vh - 70px);
  position:relative;
  display:block; /* break grid; we'll position manually */
  padding:16px;
}

/* Left options column (fixed width) */
.geodesic .options{
  position:absolute;
  left:16px;
  top:45px;
  bottom:16px;
  width:360px;
  overflow:auto;
}

/* 3D preview fills the remainder to the right; bottom offset reserves space for technical info bar */
.geodesic .preview{
  position:absolute;
  left: calc(16px + 360px + 16px);
  right:16px;
  top:16px;
  bottom: calc(16px + var(--eg-dock-preview-offset, 48px));
  height:auto !important;
}

/* Legacy: floating spec card (unused when .eg-result-dock is present) */
.geodesic .stat:not(.eg-result-dock){
  position:absolute;
  left: calc(16px + 360px + 32px);
  right: 32px;
  top: 24px;
  max-width: 520px;
  z-index: 10;
  pointer-events: auto;
  max-height: 60vh;
  overflow:auto;
}

/* Ensure canvas scales to container */
.geodesic .preview canvas{ width:100% !important; height:100% !important; display:block; margin:0 auto; }


/* Hide logo/title/social links, keep only controls + canvas */
.geodesic header .logo,
.geodesic header .brand,
.geodesic header .buyme,
.geodesic header .share,
.geodesic header a[href*="facebook"],
.geodesic header a[href*="blog"],
.geodesic .donation-link,
.geodesic .donation__popup,
.geodesic .buyme,
.geodesic .buyme_show,
.geodesic header .donation,
.geodesic header .ad,
.geodesic header .adsbygoogle,
.geodesic header h1,
.geodesic header h2,
.geodesic header .title { display:none !important; }


/* Bottom dock: model technical summary — keeps 3D view unobstructed */
.stat.transparent.eg-result-dock{
  position: fixed !important;
  top: auto !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0;
  background: rgba(255,255,255,0.97);
  border: 1px solid #e3e3e3;
  border-bottom: none;
  border-radius: 12px 12px 0 0;
  box-shadow: 0 -6px 28px rgba(0,0,0,0.1);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.stat.transparent.eg-result-dock .eg-stat-bar-header{
  display:grid;
  grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;
  align-items:center;
  gap:10px 14px;
  width:100%;
  padding:10px 14px;
  margin:0;
  border:none;
  background:transparent;
  font:inherit;
  cursor:pointer;
  text-align:left;
  color:#111;
  box-sizing:border-box;
}
.stat.transparent.eg-result-dock .eg-stat-title{
  font-weight:700;
  font-size:13px;
  letter-spacing:0.01em;
  white-space:nowrap;
}
.stat.transparent.eg-result-dock .eg-stat-metrics{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px 16px;
  min-width:0;
  font-size:12px;
  font-weight:600;
  color:#334155;
}
.stat.transparent.eg-result-dock .eg-stat-metric{
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}
.stat.transparent.eg-result-dock .eg-stat-metric__icon{
  width:14px;
  height:14px;
  flex:0 0 14px;
  color:#64748b;
}
.stat.transparent.eg-result-dock .eg-stat-metric--core{
  font-weight:700;
  color:#0f172a;
}
.stat.transparent.eg-result-dock .eg-stat-hint{
  font-size:13px;
  font-weight:700;
  color:#0f172a;
  opacity:1;
  white-space:nowrap;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.stat.transparent.eg-result-dock .eg-stat-hint__icon{
  font-size:10px;
  line-height:1;
}
.stat.transparent.eg-result-dock .eg-stat-bar-header:hover{
  background: rgba(14,165,233,0.06);
}
@media (max-width:640px){
  .stat.transparent.eg-result-dock .eg-stat-title{display:none!important}
  .stat.transparent.eg-result-dock .eg-stat-bar-header{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"metrics action";
  }
  .stat.transparent.eg-result-dock .eg-stat-metrics{grid-area:metrics;justify-content:flex-start;font-size:11px;gap:6px 10px}
  .stat.transparent.eg-result-dock .eg-stat-hint{grid-area:action}
}
.stat.transparent.eg-result-dock .report{
  display: block;
  margin: 0;
  padding: 0 10px 10px;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  border-top: 1px solid #e8e8e8;
  transition: max-height 0.28s ease, opacity 0.2s ease;
  box-sizing: border-box;
}
.stat.transparent.eg-result-dock.is-expanded .report{
  max-height: min(50vh, 420px);
  overflow: auto;
  opacity: 1;
}
.stat.transparent.eg-result-dock:not(.is-expanded) .report{
  border-top: none;
  padding-bottom: 0;
}
.eg-spec-report{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 11px;
  line-height: 1.3;
}
.eg-spec-col{
  min-width: 0;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  overflow: hidden;
}
.eg-spec-col__title{
  margin: 0;
  padding: 6px 10px;
  background: #e8edf3;
  font-size: 11px;
  font-weight: 700;
  color: #1e293b;
  letter-spacing: 0.01em;
}
.eg-spec-subtitle{
  margin: 0;
  padding: 5px 10px 3px;
  font-size: 10px;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: #f1f5f9;
  border-top: 1px solid #e2e8f0;
}
.eg-spec-table{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.eg-spec-table th{
  text-align: left;
  font-weight: 500;
  color: #475569;
  padding: 4px 6px 4px 10px;
  vertical-align: top;
  width: 58%;
  background: #fff;
  border-top: 1px solid #f1f5f9;
  word-break: break-word;
}
.eg-spec-table td{
  text-align: right;
  font-weight: 600;
  color: #0f172a;
  padding: 4px 10px 4px 6px;
  background: #fff;
  border-top: 1px solid #f1f5f9;
  white-space: nowrap;
}
.eg-spec-table tbody tr:nth-child(even) th,
.eg-spec-table tbody tr:nth-child(even) td{
  background: #f8fafc;
}
.eg-spec-table tr.eg-spec-row--hi th,
.eg-spec-table tr.eg-spec-row--hi td{
  background: #dbeafe;
}
.eg-spec-kit td::before{
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 6px;
  border-radius: 2px;
  vertical-align: middle;
  content: "";
}
.eg-spec-kit tr.eg-spec-kit--frame td::before{background:#22c55e}
.eg-spec-kit tr.eg-spec-kit--cover td::before{background:#ef4444}
.eg-spec-wait{
  padding: 10px 14px;
  font-size: 12px;
  color: #64748b;
}
@media (max-width: 1400px){
  .eg-spec-report{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 1100px){
  .eg-spec-report{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 640px){
  .eg-spec-report{grid-template-columns:1fr}
}
.eg-stat-bar-header:focus-visible{
  outline: 2px solid #0ea5e9;
  outline-offset: 2px;
}


#lang-select, .lang-select, select.lang-select, [for="lang-select"] {display:none !important; visibility:hidden !important; pointer-events:none !important;}


canvas, svg { transform: none !important; }


/* ARCH: fixed topbar + slide-down settings panel + full 3D */
:root{--eg-topbar-h:48px;--eg-dock-h:48px}
html,body{height:100%!important;min-height:0!important;overflow:hidden!important;margin:0;padding:0}
.geodesic{display:flex!important;flex-direction:column!important;width:100%!important;height:100dvh!important;min-height:0!important;overflow:hidden!important;box-sizing:border-box!important;position:relative!important;padding-top:var(--eg-topbar-h)!important}
.geodesic>.head,.geodesic>.welcome,.geodesic .budget-list,.geodesic .info{display:none!important;height:0!important;overflow:hidden!important;visibility:hidden!important;pointer-events:none!important}
.geodesic .wrap{height:auto!important;padding:0!important;position:static!important}

/* ── Topbar ── */
.eg-seo-only{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important
}
.eg-topbar{
  position:fixed!important;top:0;left:0;right:0;z-index:10001!important;
  height:var(--eg-topbar-h)!important;min-height:var(--eg-topbar-h)!important;
  display:flex!important;align-items:center!important;gap:6px!important;
  padding:0 10px 0 8px!important;box-sizing:border-box!important;
  background:#fff!important;border-bottom:1px solid #dce4df!important;
  box-shadow:0 1px 8px rgba(15,23,42,.06)!important
}
.eg-topbar__left{
  display:flex!important;align-items:center!important;gap:6px!important;
  flex:1 1 0!important;min-width:0!important;max-width:calc(100% - 220px)!important;overflow:hidden!important
}
.eg-topbar__modes{
  display:flex!important;align-items:center!important;gap:3px!important;
  flex:1 1 auto!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;
  background:#f1f5f9!important;border:1px solid #e2e8f0!important;border-radius:12px!important;padding:3px 4px!important
}
.eg-topbar__modes::-webkit-scrollbar{display:none!important}
.eg-topbar__center{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;
  flex:0 0 auto!important;flex-shrink:0!important;position:relative!important;z-index:3!important;
  background:#fefce8!important;border:1px solid #fde68a!important;border-radius:12px!important;padding:3px 5px!important
}
.eg-topbar__right{
  display:flex!important;align-items:center!important;gap:5px!important;
  flex:0 0 auto!important;flex-shrink:0!important;margin-left:auto!important;
  position:relative!important;z-index:3!important;background:#fff!important
}
.eg-topbar__hamburger{
  flex:0 0 auto!important;width:36px!important;height:36px!important;padding:0!important;
  border:1px solid #dce4df!important;border-radius:10px!important;background:#f7faf8!important;
  color:#173326!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  transition:background .15s,border-color .15s,box-shadow .15s!important
}
.eg-topbar__hamburger svg{width:18px!important;height:18px!important;display:block!important}
.eg-topbar__hamburger:hover{background:#edf4f0!important;border-color:#b8cfc2!important}
.eg-topbar__hamburger[aria-expanded="true"]{background:#173326!important;color:#fff!important;border-color:#173326!important}
.eg-topbar__actions{display:flex!important;align-items:center!important;gap:5px!important;flex:0 0 auto!important}
.eg-topbar__action{
  flex:0 0 auto!important;width:32px!important;min-width:32px!important;height:32px!important;
  border:1px solid #dce4df!important;border-radius:8px!important;background:#f7faf8!important;
  color:#173326!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:0!important;text-decoration:none!important;transition:background .15s,border-color .15s,box-shadow .15s!important
}
.eg-topbar__action svg{width:15px!important;height:15px!important;display:block!important}
.eg-topbar__action:hover{filter:brightness(.97)!important;border-color:rgba(15,23,42,.14)!important}
.eg-topbar__action--home,.eg-topbar__action[data-eg-home]{background:#f3e8ff!important;border-color:#e9d5ff!important;color:#6b21a8!important}
.eg-topbar__action--home:hover,.eg-topbar__action[data-eg-home]:hover{background:#ede9fe!important;border-color:#ddd6fe!important}
.eg-topbar__action--consult{background:#dcfce7!important;border-color:#bbf7d0!important;color:#166534!important}
.eg-topbar__action--consult:hover{background:#d1fae5!important;border-color:#86efac!important}
.eg-topbar__action--consult.is-active{background:#bbf7d0!important;border-color:#4ade80!important;box-shadow:0 0 0 1px rgba(34,197,94,.25)!important;color:#14532d!important}
.eg-topbar__action--wa{background:#ecfdf5!important;border-color:#a7f3d0!important}
.eg-topbar__action--wa:hover{background:#d1fae5!important;border-color:#6ee7b7!important}
.eg-topbar-wa-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:17px!important;height:17px!important;line-height:0!important}
.eg-topbar-wa-icon svg{display:block!important;width:100%!important;height:100%!important}
.eg-consultant-avatar{
  position:fixed!important;right:24px!important;bottom:24px!important;left:auto!important;top:auto!important;z-index:10003!important;
  width:auto!important;max-width:none!important;max-height:50dvh!important;opacity:0!important;
  transform:translateY(14px) scale(.96)!important;transition:opacity .28s ease,transform .28s ease!important;pointer-events:none!important
}
.eg-consultant-avatar.is-visible{opacity:1!important;transform:none!important;pointer-events:auto!important}
.eg-consultant-avatar[hidden]{display:none!important}
.eg-consultant-avatar__hit{display:block!important;width:auto!important;padding:0!important;border:0!important;background:transparent!important;cursor:pointer!important;line-height:0!important;filter:drop-shadow(0 18px 40px rgba(8,20,14,.28))!important}
.eg-consultant-avatar__hit:focus-visible{outline:2px solid rgba(186,139,58,.85)!important;outline-offset:4px!important;border-radius:12px!important}
.eg-consultant-avatar__video{width:auto!important;height:min(50dvh,50vh)!important;max-height:50dvh!important;object-fit:contain!important;object-position:right bottom!important;display:block!important;background:transparent!important;pointer-events:none!important}
.eg-topbar__langs{display:none!important}
.eg-topbar__toggle{
  flex:0 0 auto!important;margin-left:4px!important;width:36px!important;height:36px!important;
  border:1px solid #dce4df!important;border-radius:10px!important;background:#f7faf8!important;
  color:#173326!important;font-size:14px!important;line-height:1!important;cursor:pointer!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  transition:background .15s,border-color .15s,transform .2s!important
}
.eg-topbar__toggle:hover{background:#edf4f0!important;border-color:#b8cfc2!important}
.eg-topbar__toggle[aria-expanded="true"]{background:#173326!important;color:#fff!important;border-color:#173326!important}
.eg-topbar__toggle[aria-expanded="true"] .eg-topbar__toggle-icon{transform:rotate(180deg)}

.eg-mode-btn{
  flex:0 0 auto!important;min-width:36px!important;height:30px!important;padding:0 10px!important;
  border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;
  color:#475569!important;font-size:11px!important;font-weight:800!important;letter-spacing:.02em!important;
  cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;
  white-space:nowrap!important;transition:all .15s!important
}
.eg-mode-btn svg{width:16px!important;height:16px!important;flex:0 0 16px!important;opacity:.85}
.eg-mode-btn:hover{background:rgba(255,255,255,.72)!important;border-color:#cbd5e1!important}
.eg-mode-btn.is-active{background:#0ea5e9!important;border-color:#0ea5e9!important;color:#fff!important}
.eg-mode-btn.is-active svg{opacity:1}

.eg-topbar__download{
  flex:0 0 auto!important;margin-left:0!important;height:30px!important;padding:0 10px!important;
  border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;
  color:#854d0e!important;font-size:11px!important;font-weight:800!important;letter-spacing:.02em!important;
  cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;
  white-space:nowrap!important;transition:background .15s,border-color .15s,color .15s!important
}
.eg-topbar__download svg{width:16px!important;height:16px!important;flex:0 0 16px!important}
.eg-topbar__download:hover{background:rgba(255,255,255,.65)!important;border-color:#fcd34d!important;color:#713f12!important}
.eg-topbar__download:active{transform:translateY(1px)}
.eg-topbar__share{
  flex:0 0 auto!important;height:30px!important;padding:0 10px!important;
  border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;
  color:#854d0e!important;font-size:11px!important;font-weight:800!important;letter-spacing:.02em!important;
  cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;
  white-space:nowrap!important;transition:background .15s,border-color .15s,color .15s!important
}
.eg-topbar__share svg{width:16px!important;height:16px!important;flex:0 0 16px!important}
.eg-topbar__share:hover{background:rgba(255,255,255,.65)!important;border-color:#fcd34d!important;color:#713f12!important}

.eg-lang-flag{
  width:28px!important;height:20px!important;padding:0!important;border:1px solid transparent!important;
  border-radius:4px!important;background:transparent!important;cursor:pointer!important;opacity:.72!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:opacity .15s,border-color .15s,transform .15s!important
}
.eg-lang-flag:hover{opacity:1!important;border-color:#cbd5e1!important;transform:translateY(-1px)}
.eg-lang-flag.is-active{opacity:1!important;border-color:#0ea5e9!important;box-shadow:0 0 0 1px #0ea5e9!important}
.eg-lang-flag svg{width:18px!important;height:12px!important;display:block!important;border-radius:2px}

.eg-settings-panel__langs{
  flex:0 0 auto!important;display:flex!important;align-items:center!important;justify-content:center!important;
  flex-wrap:wrap!important;gap:4px!important;padding:0!important;border:0!important;background:transparent!important
}
.eg-settings-panel__langs .eg-lang-flag{
  width:30px!important;height:20px!important
}
.eg-settings-panel__langs .eg-lang-flag svg{
  width:18px!important;height:12px!important
}

/* ── Settings slide panel (80vh) ── */
.eg-settings-backdrop{
  position:fixed!important;inset:0!important;z-index:10000!important;
  background:rgba(15,23,42,.35)!important;opacity:0!important;visibility:hidden!important;
  transition:opacity .25s,visibility .25s!important;pointer-events:none!important
}
html.eg-settings-open .eg-settings-backdrop{opacity:1!important;visibility:visible!important;pointer-events:auto!important}

.eg-settings-panel{
  position:fixed!important;left:0!important;right:0!important;top:var(--eg-topbar-h)!important;z-index:10002!important;
  max-height:0!important;overflow:hidden!important;
  background:#fff!important;border-bottom:1px solid #dce4df!important;
  border-radius:0 0 16px 16px!important;box-shadow:0 12px 40px rgba(15,23,42,.14)!important;
  transition:max-height .28s ease!important;display:flex!important;flex-direction:column!important
}
html.eg-settings-open .eg-settings-panel{max-height:80vh!important}
.eg-settings-panel__head{
  flex:0 0 auto!important;display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto!important;
  align-items:center!important;gap:8px 10px!important;padding:10px 14px!important;border-bottom:1px solid #edf2f0!important;
  color:#173326!important;background:#f8faf9!important
}
.eg-settings-panel__title{
  justify-self:start!important;text-align:left!important;font-size:12px!important;font-weight:800!important;
  letter-spacing:.03em!important;text-transform:uppercase!important;line-height:1.2!important;color:#173326!important
}
.eg-settings-panel__head .eg-settings-panel__langs{justify-self:center!important}
.eg-settings-panel__close{justify-self:end!important}
@media (max-width:520px){
  .eg-settings-panel__head{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;gap:6px!important;padding:8px 10px!important}
  .eg-settings-panel__title{font-size:9px!important;letter-spacing:.01em!important}
  .eg-settings-panel__langs .eg-lang-flag{width:26px!important;height:18px!important}
  .eg-settings-panel__close{padding:0 8px!important;font-size:11px!important}
}
.eg-settings-panel__close{
  border:none!important;background:#f1f5f3!important;color:#173326!important;
  min-width:32px!important;height:32px!important;padding:0 10px!important;border-radius:8px!important;cursor:pointer!important;
  font-size:12px!important;font-weight:700!important;display:inline-flex!important;align-items:center!important;gap:5px!important;
  white-space:nowrap!important
}
.eg-settings-panel__close-icon{font-size:11px!important;line-height:1!important}
.eg-settings-panel__body{
  flex:1 1 auto!important;overflow-y:auto!important;overflow-x:hidden!important;
  padding:10px 14px 18px!important;-webkit-overflow-scrolling:touch
}
.eg-settings-panel__body .eg-tools-strip{
  display:block!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:0!important
}
.eg-settings-panel__body dl{
  display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
  align-items:center!important;gap:6px 10px!important;
  margin:0 0 6px!important;padding:8px 10px!important;
  background:#f8faf9!important;border:1px solid #e8eeeb!important;border-radius:10px!important;
  width:100%!important;box-sizing:border-box!important;min-height:0!important;line-height:1.3!important
}
.eg-settings-panel__body dl.sub{display:flex!important;grid-template-columns:none!important}
.eg-settings-panel__body .eg-field-hidden{display:none!important}
.eg-settings-panel__body dt{
  flex:0 0 auto!important;width:auto!important;max-width:42%!important;
  float:none!important;display:block!important;text-align:left!important;
  margin:0!important;padding:0!important;font-size:12px!important;font-weight:700!important;color:#64748b!important
}
.eg-settings-panel__body dd{
  flex:1 1 180px!important;margin:0!important;padding:0!important;min-width:0!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;overflow:visible!important
}
.eg-spin-note{
  font-size:12px!important;font-weight:600!important;color:#64748b!important;white-space:nowrap!important;margin:0!important;cursor:pointer!important
}
.eg-field-spin dd{gap:8px!important}
.eg-settings-panel__body p{
  display:block!important;margin:12px 0 6px!important;padding:0!important;
  font-size:11px!important;font-weight:800!important;color:#2f6d57!important;letter-spacing:.06em!important;text-transform:uppercase!important
}
.eg-settings-section{margin:0 0 14px!important}
.eg-settings-section__title{
  display:block!important;margin:0 0 8px!important;padding:0 4px!important;
  font-size:11px!important;font-weight:800!important;color:#2f6d57!important;letter-spacing:.06em!important;text-transform:uppercase!important
}
#eg-settings-section-model > .eg-settings-section__title{display:none!important}
.eg-settings-section__body{display:block!important}
.eg-settings-section--advanced{
  margin-top:2px!important;padding-top:10px!important;border-top:1px solid #e8eeeb!important
}
.eg-settings-section--advanced > summary.eg-settings-section__title{
  cursor:pointer!important;list-style:none!important;display:flex!important;align-items:center!important;gap:6px!important
}
.eg-settings-section--advanced > summary.eg-settings-section__title::-webkit-details-marker{display:none!important}
.eg-settings-section--advanced > summary.eg-settings-section__title::after{
  content:'▸'!important;font-size:10px!important;color:#94a3b8!important;transition:transform .15s ease!important
}
.eg-settings-section--advanced[open] > summary.eg-settings-section__title::after{transform:rotate(90deg)!important}
.eg-settings-section__hint{
  display:block!important;margin:-2px 0 8px!important;padding:0 4px!important;
  font-size:10px!important;font-weight:500!important;color:#94a3b8!important;
  letter-spacing:0!important;text-transform:none!important;line-height:1.35!important
}
.eg-settings-section--advanced .eg-settings-section__body dl{
  background:#f3f6f4!important;border-color:#dfe7e2!important
}
.eg-settings-panel__body select,.eg-settings-panel__body input.input_text,.eg-settings-panel__body input[type="text"],.eg-settings-panel__body input[type="number"]{
  width:100%!important;min-width:120px!important;max-width:100%!important;box-sizing:border-box!important;
  font-size:13px!important;padding:5px 8px!important;height:32px!important;border-radius:8px!important;
  border:1px solid #dce4df!important;background:#fff!important
}
.eg-settings-panel__body dl:has(select){
  flex-direction:column!important;align-items:stretch!important
}
.eg-settings-panel__body dl:has(select) dt,
.eg-settings-panel__body dl:has(select) dd{
  flex:0 0 auto!important;width:100%!important;max-width:100%!important
}
.eg-settings-panel__body dl:has(select) select{
  width:100%!important;max-width:100%!important;min-width:0!important
}
.eg-settings-panel__body input[type="checkbox"]{width:16px!important;height:16px!important}

/* Hidden legacy form shell (keeps knockout bindings) */
.geodesic form.options.eg-options-sr{
  position:fixed!important;left:-10000px!important;top:0!important;width:1px!important;height:1px!important;
  overflow:hidden!important;opacity:0!important;pointer-events:none!important;padding:0!important;margin:0!important;
  border:0!important;display:block!important;visibility:hidden!important
}
.geodesic form.options .eg-toolbar-head{display:none!important}

/* ── 3D viewport ── */
.geodesic .eg-viewport{
  order:1!important;flex:1 1 auto!important;width:100%!important;min-height:0!important;
  overflow:hidden!important;position:relative!important;display:block!important;margin:0!important;padding:0!important;background:#fff!important;
  touch-action:none!important
}
.geodesic .eg-viewport canvas.preview,.geodesic .eg-viewport .preview{
  display:block!important;margin:0!important;padding:0!important;position:absolute!important;left:0!important;top:0!important;
  touch-action:none!important
}
.geodesic>#eg-result-dock{order:2!important;flex:0 0 auto!important}

/* ── Kill legacy left sidebar (360px column) ── */
.geodesic .options,.geodesic form.options{
  position:fixed!important;left:-10000px!important;top:0!important;right:auto!important;bottom:auto!important;
  width:1px!important;max-width:1px!important;height:1px!important;overflow:hidden!important;
  margin:0!important;padding:0!important;border:0!important;pointer-events:none!important;z-index:-1!important
}
.geodesic .preview,canvas.preview,.geodesic canvas.preview,
.geodesic>.preview,.geodesic>canvas.preview{
  position:absolute!important;left:0!important;right:auto!important;top:0!important;bottom:auto!important;
  max-width:100%!important;min-height:0!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;background:transparent!important
}
.geodesic .eg-viewport{
  left:0!important;right:0!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important
}
.geodesic .eg-viewport canvas.preview,.geodesic .eg-viewport .preview{
  position:absolute!important;left:0!important;top:0!important;right:auto!important;bottom:auto!important;
  display:block!important;margin:0!important;padding:0!important
}
.geodesic .stat:not(.eg-result-dock){display:none!important}
.eg-settings-panel,.eg-settings-panel__body,.eg-settings-panel__head{width:100%!important;max-width:100%!important;box-sizing:border-box!important}

@media (max-width:640px){
  :root{--eg-topbar-h:44px}
  .eg-topbar__left{max-width:calc(100% - 168px)!important}
  .eg-mode-btn span.eg-mode-label{display:none!important}
  .eg-mode-btn{min-width:34px!important;padding:0 8px!important}
  .eg-topbar__share .eg-share-label,.eg-topbar__download .eg-download-label{display:none!important}
  .eg-topbar__share,.eg-topbar__download{min-width:36px!important;padding:0 8px!important}
  .eg-lang-flag{width:26px!important}
  .eg-topbar__actions{gap:3px!important}
  .eg-topbar__action{width:28px!important;min-width:28px!important;height:28px!important}
  .eg-topbar__action svg{width:13px!important;height:13px!important}
  .eg-topbar__hamburger{width:32px!important;height:32px!important}
  .eg-consultant-avatar{right:12px!important;bottom:12px!important}
}


/* Extension layer: reserved for future injected UI. Empty by design today. */
:root {
  --gd-extension-panel-z: 60;
}
[data-gd-extension] {
  box-sizing: border-box;
}

