.discovery-dialog {
  color-scheme: dark;
  width: min(38rem, calc(100% - 1.25rem));
  max-height: min(90dvh, 52rem);
  padding: clamp(1.15rem, 4vw, 2rem);
  overflow: auto;
  overscroll-behavior: contain;
  background: #251829;
  color: #fff3f8;
  border: 1px solid #68445f;
  border-radius: 22px;
  box-shadow: 0 24px 80px #0c0612bb;
}
.discovery-dialog::backdrop { background: #100916aa; backdrop-filter: blur(4px); }
.discovery-dialog [data-close] { float: right; margin: 0 0 .4rem .75rem; min-height: 44px; }
.discovery-dialog h2 { margin: .35rem 0 .85rem; font-size: clamp(1.4rem, 5vw, 1.85rem); }
.discovery-dialog h3 { margin: 1.45rem 0 .7rem; font-size: 1.12rem; }
.discovery-dialog p, .discovery-dialog small { color: #d9bdcf; }
.discovery-dialog .form { clear: both; display: grid; gap: .9rem; }
.discovery-dialog label:not(.checkline) { display: grid; gap: .42rem; margin: 0 0 .55rem; font-size: .92rem; font-weight: 600; }
.discovery-dialog input:not([type=checkbox]), .discovery-dialog select {
  display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px;
  padding: .7rem .85rem; font: 400 16px system-ui; background: #19111e;
  border: 1px solid #74536b; border-radius: 12px; color: #fff3f8;
}
.discovery-dialog input[type=file] { padding: .35rem; }
.discovery-dialog input::file-selector-button {
  background: #51314b; color: #fff3f8; border: 0; border-radius: 8px;
  padding: .55rem .7rem; margin-right: .6rem; font: inherit;
}
.discovery-dialog .checkline {
  display: flex; align-items: flex-start; gap: .7rem; padding: .75rem;
  background: #302135; border: 1px solid #594057; border-radius: 12px;
  font-size: .9rem; line-height: 1.4;
}
.discovery-dialog input[type=checkbox] { flex: 0 0 19px; width: 19px; height: 19px; margin: 2px 0 0; accent-color: #f4afca; }
.discovery-dialog input:focus-visible, .discovery-dialog select:focus-visible, .public-menu summary:focus-visible { outline: 2px solid #f4afca; outline-offset: 3px; }
.discovery-options { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-block: 1rem; }
@media (max-width: 550px) { .discovery-options { grid-template-columns: 1fr; gap: .35rem; } }
.public-menu summary { background: linear-gradient(145deg,#46263e,#281b30); border-radius: 14px; }
.public-menu[open] summary { color: #2c1626; background: #f2b2cc; }
.public-nav {
  width: max-content; max-width: min(17rem, calc(100vw - 2rem)); padding: .5rem;
  background: #2c1c31; border-color: #74536b; border-radius: 18px;
}
.public-nav a, .public-nav button {
  background: transparent; border: 0; color: #fff0f5; text-align: left; font: inherit;
  padding: .75rem .85rem; border-radius: 11px; cursor: pointer; white-space: normal;
}
.public-nav button:hover, .public-nav button:focus-visible { background: #4a2a42; }
.public-menu[open] .public-menu-icon { border: 0; position: relative; }
.public-menu[open] .public-menu-icon::before, .public-menu[open] .public-menu-icon::after {
  content: ''; position: absolute; width: 100%; top: 50%; border-top: 2px solid currentColor;
}
.public-menu[open] .public-menu-icon::before { transform: rotate(45deg); }
.public-menu[open] .public-menu-icon::after { transform: rotate(-45deg); }

.welcome-paths { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; margin-block: 1.5rem; }
.welcome-path { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1rem,4vw,1.65rem); background: #271b2d; border: 1px solid #67465f; border-radius: 20px; }
.welcome-path h2 { margin: .65rem 0 .35rem; font-size: 1.35rem; }
.welcome-path p { color: #e4cbdc; margin: 0 0 1rem; }
.welcome-path .btn { margin-top: auto; }
.path-art { position: relative; width: 110px; height: 66px; color: #ffd4e6; }
.path-art span { position: absolute; display: grid; place-items: center; top: 8px; width: 38px; height: 48px; background: #59324f; border: 1px solid #a66a8c; border-radius: 10px; font-size: 22px; }
.path-art span:first-child { left: 8px; transform: rotate(-13deg); }
.path-art span:nth-child(2) { left: 33px; top: 3px; background: #7a4568; }
.path-art span:nth-child(3) { left: 60px; transform: rotate(13deg); }
.path-art-solo span:first-child { left: 16px; top: 5px; width: 46px; height: 53px; background: #784665; }
.path-art-solo span:nth-child(2) { left: 68px; top: 13px; width: auto; height: auto; border: 0; background: transparent; }
@media (max-width: 600px) { .welcome-paths { grid-template-columns: 1fr; } }
