/* App layout built on the shared HSG UI Framework tokens and font. */
*{box-sizing:border-box}
html{background:var(--hsg-app-surface-muted)}
html,body{margin:0;min-height:100%;color:var(--hsg-green);font-family:var(--hsg-app-font)}
body{display:flex;flex-direction:column;min-height:100vh;isolation:isolate}
.ambient-background{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.28;filter:blur(48px)}
.topbar{background:var(--hsg-green);color:var(--hsg-white);padding:16px 32px}
.brand{display:flex;align-items:center;gap:24px;max-width:1440px;margin:auto}
.brand-logo-panel{width:144px;height:56px;display:flex;align-items:center}
.brand-logo-panel img{max-width:100%;max-height:100%;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;gap:8px;padding-left:24px;border-left:1px solid #688079}
.brand-copy strong{font-size:18px}.brand-copy small{font-size:12px;color:var(--hsg-cream)}
main{flex:1;width:min(1120px,100%);margin:auto;padding:56px 32px}
.intro{margin-bottom:32px}.intro h1{font-size:clamp(28px,4vw,40px);line-height:1.15;letter-spacing:-.025em;margin:0 0 16px}.intro p{margin:0;line-height:1.6;color:#4d6660}

/* One workspace card, with a shared preview and two independent launch links. */
.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.markup-card{container-type:inline-size;overflow:hidden;background:var(--hsg-white);border:1px solid var(--hsg-app-border);border-radius:24px;box-shadow:0 8px 32px rgba(23,40,36,.06)}
.markup-preview{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--hsg-green);border-bottom:1px solid var(--hsg-app-border)}
.markup-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.markup-preview-map{clip-path:polygon(56% 0,100% 0,100% 100%,44% 100%);transition:clip-path .65s cubic-bezier(.22,1,.36,1)}
.markup-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(23,40,36,.5));pointer-events:none}
.markup-divider{position:absolute;inset:0;width:100%;height:100%;transition:opacity .25s;pointer-events:none}
.markup-divider path{fill:none;stroke:rgba(255,255,255,.8);stroke-width:2}
.markup-preview-labels{position:absolute;inset:auto 32px 22px;z-index:1;display:flex;justify-content:space-between;color:var(--hsg-white);font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.markup-preview-labels span{transition:opacity .25s}
.markup-preview-actions{position:absolute;inset:0;z-index:2;display:grid;grid-template-columns:1fr 1fr}
.markup-preview-link{display:block;border-radius:4px}
.markup-preview-link:focus-visible{outline:3px solid var(--hsg-lime);outline-offset:-6px}
.markup-card[data-preview="image"] .markup-preview-map{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}
.markup-card[data-preview="map"] .markup-preview-map{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.markup-card[data-preview] .markup-divider{opacity:0}
.markup-card[data-preview="image"] .markup-preview-labels span:last-child,.markup-card[data-preview="map"] .markup-preview-labels span:first-child{opacity:0}
.markup-card-heading{padding:24px}
.markup-card-heading h2{margin:0 0 8px;font-size:26px;letter-spacing:-.025em;line-height:1.2}
.markup-card-heading p{margin:0;color:#4d6660;line-height:1.6}
.markup-options{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--hsg-app-border)}
.markup-option{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:24px;transition:background-color .25s}
.markup-option[data-workspace="map"]{border-left:1px solid var(--hsg-app-border)}
.markup-or{position:absolute;left:50%;top:50%;z-index:1;transform:translate(-50%,-50%);display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--hsg-app-border);border-radius:50%;background:var(--hsg-white);font-size:11px;font-weight:600;color:#4d6660;pointer-events:none}
.markup-option-heading{display:flex;align-items:center;gap:10px}
.markup-option h3{margin:0;font-size:16px;line-height:1.3}
.tool-card-icon{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--hsg-cream)}
.tool-card-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.markup-launch{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding:12px 14px;border-radius:999px;background:var(--hsg-lime);color:var(--hsg-green);font-size:13px;font-weight:700;text-decoration:none;transition:background-color .2s}
.markup-launch:hover{background:#c0d34f}
.markup-launch:focus-visible{outline:3px solid var(--hsg-green);outline-offset:4px}
.markup-card[data-preview="image"] [data-workspace="image"],.markup-card[data-preview="map"] [data-workspace="map"]{background:var(--hsg-app-surface-muted)}

/* Illustrated utility tiles fill a two-column, four-row grid. */
.utility-panel{position:relative;container-type:inline-size;min-width:0}
.utility-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:10px}
.utility-tile{position:relative;isolation:isolate;display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden;padding:0;border:1px solid var(--hsg-app-border);border-radius:16px;background:var(--hsg-white);color:var(--hsg-green);font:inherit;text-align:left;cursor:pointer;transition:transform .3s ease,border-color .2s,background-color .2s,box-shadow .2s}
.utility-tile:hover{background:#f7f9ee;border-color:var(--hsg-secondary-green);box-shadow:0 4px 14px rgba(23,40,36,.06)}
.utility-tile::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:linear-gradient(var(--reflection-angle,115deg),transparent calc(var(--reflection-position,50%) - 18%),rgba(255,255,255,.24) var(--reflection-position,50%),transparent calc(var(--reflection-position,50%) + 18%));transition:opacity .25s}
.utility-tile[data-tilting]{z-index:2;transform:perspective(850px) translateY(-2px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));box-shadow:0 10px 24px rgba(23,40,36,.12);transition:transform .1s ease-out,border-color .2s,background-color .2s,box-shadow .2s}
.utility-tile[data-tilting]::after{opacity:var(--reflection-opacity,.4)}
.utility-tile:focus-visible{outline:3px solid var(--hsg-green);outline-offset:3px}
.utility-tile:disabled{opacity:.45;cursor:default;box-shadow:none}
.utility-art{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center;background:var(--hsg-cream);transition:transform .35s}
.utility-tile:hover .utility-art{transform:scale(1.025)}
.utility-copy{position:relative;display:flex;flex-direction:column;gap:3px;min-width:0;padding:9px 12px;background:var(--hsg-white)}
.utility-copy strong{font-size:13px;line-height:1.3;font-weight:700;overflow-wrap:anywhere}
.utility-copy>span{font-size:11px;line-height:1.4;color:#4d6660}
footer{display:flex;justify-content:space-between;gap:16px;padding:24px 32px;border-top:1px solid var(--hsg-app-border);font-size:12px;color:#4d6660}
@container(max-width:460px){
  .markup-options{grid-template-columns:1fr}
  .markup-option[data-workspace="map"]{border-left:0;border-top:1px solid var(--hsg-app-border)}
}
@media(max-width:640px){
  .topbar{padding:16px}.brand{gap:16px}.brand-logo-panel{width:112px;height:48px}.brand-copy{padding-left:16px}.brand-copy strong{font-size:16px}
  main{padding:32px 16px}.intro{margin-bottom:24px}
  .tool-grid{grid-template-columns:1fr}.markup-preview-labels{inset:auto 24px 18px}
  .markup-card-heading{padding:24px}.markup-options{grid-template-columns:1fr}.markup-option{padding:24px}
  .markup-option[data-workspace="map"]{border-left:0;border-top:1px solid var(--hsg-app-border)}
  .utility-grid{position:static;grid-template-rows:none;grid-auto-rows:150px}
  footer{padding:24px 16px;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
  .markup-preview-map,.markup-divider,.markup-preview-labels span,.markup-option,.markup-launch,.utility-tile,.utility-art{transition:none}
  .utility-tile:hover .utility-art{transform:none}
  .utility-tile[data-tilting]{transform:none}
  .utility-tile::after{display:none;transition:none}
}

footer a{color:inherit;text-underline-offset:3px}footer a:hover{color:var(--hsg-green)}#usagePrivacy{border:1px solid #dce3d8;border-radius:18px;max-width:calc(100% - 24px)}#usagePrivacy::backdrop{background:#17282488;backdrop-filter:blur(5px)}
