*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img,svg{display:block;max-width:100%}button,input,select,textarea{border-radius:0}h1,h2,h3,p{margin:0}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}[hidden]{display:none!important}.concept-bar{position:relative;z-index:20;display:flex;justify-content:space-between;gap:20px;padding:11px 4%;background:#f7f5f1;color:#22252a;font:11px/1.5 Arial,sans-serif;border-bottom:1px solid #dedad4}.concept-bar a{text-decoration:underline;text-underline-offset:3px}.concept-bar span{opacity:.75}dialog{width:min(550px,calc(100% - 32px));max-height:90svh;overflow:auto;padding:34px;border:1px solid currentColor;background:var(--dialog-paper,#fff);color:var(--dialog-ink,#222)}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:24px}.dialog-top h2{font-size:2rem;line-height:1.1}.close-dialog{border:1px solid currentColor;background:none;font-size:20px;width:38px;height:38px;flex-shrink:0}.dialog-note{font-size:13px;line-height:1.6;opacity:.8;margin:20px 0}.demo-form{display:grid;gap:16px}.demo-form label{display:grid;gap:7px;font-size:14px}.demo-form input,.demo-form select{width:100%;min-width:0;border:1px solid #999;background:transparent;color:inherit;padding:12px}.demo-form button{padding:14px;border:1px solid currentColor;font-weight:600}.demo-result{padding:18px;border:1px solid currentColor;line-height:1.65;margin-top:18px}.concept-footer{font-size:12px;line-height:1.7;padding-block:24px;border-top:1px solid currentColor;opacity:.8}.concept-footer a{text-decoration:underline;text-underline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:650px){.concept-bar{font-size:10px;gap:10px;align-items:start}.concept-bar span{text-align:right;max-width:145px}dialog{padding:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* A soft, centered orientation notice shared by the concept sites. */
.concept-bar { position: sticky; top: 0; }
dialog.return-notice {
  position: fixed;
  inset: 0;
  width: min(390px, calc(100% - 40px));
  max-height: calc(100svh - 48px);
  margin: auto;
  padding: 31px;
  border: 1px solid #e5ded4;
  border-radius: 20px;
  background: #faf8f4;
  color: #22252a;
  font: 14px/1.65 Arial, sans-serif;
  box-shadow: 0 20px 80px #22252a26, 0 4px 18px #22252a0d;
}
dialog.return-notice[open] { animation: return-notice-in 220ms ease-out both; }
dialog.return-notice::backdrop { background: #22252a24; backdrop-filter: blur(3px); animation: return-backdrop-in 220ms ease-out both; }
.return-notice-title { font-size: 18px; line-height: 1.35; padding-right: 26px; margin: 0 0 14px; }
.return-notice-description { color: #65615c; font-size: 14px; line-height: 1.75; margin: 0; }
.return-notice-description strong { color: #34312e; font-weight: 600; }
.return-notice-close { position: absolute; right: 12px; top: 12px; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #736c64; font: 23px/1 Arial,sans-serif; }
.return-notice-close:hover { color: #681f36; background: #eee9e1; }
.return-notice-ok { display: block; margin-top: 24px; padding: 12px 28px; min-width: 88px; border: 1px solid #681f36; border-radius: 999px; background: #681f36; color: #faf8f4; font: 600 12px/1.3 Arial,sans-serif; }
.return-notice-ok:hover { background: #50162a; }
@keyframes return-notice-in { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes return-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@media(max-width:650px) { dialog.return-notice { padding: 28px; } }
@media(prefers-reduced-motion:reduce) { dialog.return-notice[open], dialog.return-notice::backdrop { animation: none; } }
