/* DIIO tester review — scoped additions, existing themes and navigation retained. */
.diio-auth-notice{padding:14px 16px;border:1px solid var(--line,#e7dff0);border-radius:16px;background:var(--surface,#f8f5fc);margin:12px 0 18px;font-size:14px;line-height:1.5}
.diio-auth-notice p{margin:5px 0 0}.diio-auth-notice a{color:inherit;text-decoration:underline}
#diio-auth-feedback:not([hidden]){padding:12px 16px;border-left:3px solid #8860c9;border-radius:10px;background:var(--surface,#f8f5fc);line-height:1.5}
.v91-login-form small{font-size:13px;line-height:1.5;color:var(--muted,#726781)}
.diio-event-date{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0}.diio-event-date label{font-weight:650}.diio-event-date input{min-height:44px;max-width:100%;font:inherit;padding:8px 12px;border:1px solid var(--line,#ded5e9);border-radius:12px;background:var(--surface,#fff);color:var(--text,#292234)}.diio-event-date small{flex-basis:100%;color:var(--muted,#726781);font-size:13px}
.diio-campus-overview{padding:16px 0 20px;margin-bottom:16px;border-bottom:1px solid var(--line,#e7dff0)}.diio-campus-overview h3{font-size:20px;margin:0 0 8px}.diio-campus-overview p{line-height:1.6}.diio-campus-travel{display:flex;flex-wrap:wrap;gap:8px}.diio-campus-travel .btn{min-height:44px}
.diio-place-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:14px 0}.diio-place-gallery figure{min-width:0;margin:0}.diio-place-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;background:#eee8f4}.diio-place-gallery figcaption{font-size:11px;line-height:1.5;overflow-wrap:anywhere;color:var(--muted,#726781)}.diio-photo-note{font-size:13px;line-height:1.5;color:var(--muted,#726781)}.diio-place-photos summary{cursor:pointer;padding:12px 0;font-weight:600}.v1637-toolbar{flex-wrap:wrap}.v1637-toolbar [aria-pressed=true]{background:#eee5fc;color:#643995}
/* Only the selected city pulses. Higher specificity overrides the inline Home styles. */
body .diio-home-cities .v1616-germany-dot{animation:none!important}
body .diio-home-cities .v1616-germany-dot.is-selected{width:11px;height:11px;z-index:4;animation:diioSelectedCityPulse 2.8s ease-in-out infinite!important;box-shadow:0 0 0 5px #a47ae544,0 0 18px #8c53dc}
@keyframes diioSelectedCityPulse{0%,100%{opacity:1;box-shadow:0 0 0 3px #a47ae544,0 0 12px #8c53dc}50%{opacity:.65;box-shadow:0 0 0 9px #a47ae510,0 0 22px #8c53dc}}
#diio-control-tooltip{position:fixed;z-index:100100;max-width:min(280px,calc(100vw - 24px));padding:8px 12px;border:1px solid #ffffff26;border-radius:10px;background:#2e243d;color:#fff;font:500 13px/1.4 system-ui,sans-serif;box-shadow:0 6px 20px #22113b20;pointer-events:none;overflow-wrap:anywhere}
.diio-tour-terms{grid-column:1/-1;max-width:560px;margin:auto;padding:28px;line-height:1.65}.diio-tour-terms h1{font-size:28px;line-height:1.2}.diio-tour-terms a{color:inherit;text-decoration:underline}.diio-tour-terms .diio-tour-next{margin:20px 0 12px}
@media(prefers-reduced-motion:reduce){body .diio-home-cities .v1616-germany-dot.is-selected{animation:none!important;opacity:1}}
body.dark .diio-auth-notice,body.dark #diio-auth-feedback:not([hidden]){background:#30253e;border-color:#514261;color:#f0e9f7}
@media(max-width:480px){.diio-event-date input{flex:1;min-width:155px}.diio-campus-travel .btn{flex:1 1 42%;font-size:13px}}

/* Visible tour replay and the original DIIO mascot on the desktop login. */
.v91-auth-brand-face{width:40px;height:40px;flex:none;border-radius:12px;background:#7c45d8 url('/assets/onboarding/diio-tour-art.png') 100% 100%/200% 200% no-repeat;box-shadow:0 4px 16px #0003}
.v91-auth-mascot{position:relative;align-self:center;width:min(260px,65%);aspect-ratio:1;margin:8px 0;filter:drop-shadow(0 20px 30px #110b2299);animation:diioMascotFloat 4.4s ease-in-out infinite}
.v91-auth-mascot-art{position:absolute;inset:0;border-radius:30%;background:url('/assets/onboarding/diio-tour-art.png') 100% 100%/200% 200% no-repeat;mask-image:radial-gradient(circle at 50% 57%,#000 58%,transparent 75%)}
.v91-auth-mascot-wave{position:absolute;top:12%;right:4%;font-size:32px;color:#dcff8d;animation:diioMascotWink 3.2s ease-in-out infinite}
.diio-tour-replay{align-self:flex-start;margin:0 0 12px;padding:9px 14px;border:1px solid var(--line,#ded5e9);border-radius:999px;background:var(--surface,#fff);color:var(--brand,#7138d7);font-size:13px;font-weight:700;line-height:1.2;cursor:pointer}
.diio-tour-replay:hover{background:#f2e9ff}.diio-tour-replay:focus-visible{outline:3px solid #9c80df;outline-offset:2px}
@keyframes diioMascotFloat{50%{transform:translateY(-9px) rotate(-2deg)}}
@keyframes diioMascotWink{50%{opacity:.3;transform:scale(.75) rotate(20deg)}}
@media(min-width:821px){.v91-auth-card{max-height:calc(100dvh - 68px)}.v91-auth-intro{min-height:min(700px,calc(100dvh - 68px))!important;padding:26px 36px!important}.v91-auth-form{min-height:0;overflow-y:auto;justify-content:flex-start!important;padding:26px 34px!important;scrollbar-gutter:stable}.v91-auth-form-head p{margin-bottom:10px!important}.v91-auth-form .divider{margin:11px 0!important}.v91-auth-form .diio-auth-notice{margin:7px 0 12px;padding:10px 12px}.v91-auth-form .auth-legal{margin:10px 0 0!important}.v91-auth-form .guest-preview-button{min-height:42px}.v91-auth-mascot{width:min(230px,55%)}}
@media(max-width:820px){.v91-auth-mascot{width:100px;margin:0 auto}.v91-auth-mascot-wave{font-size:17px}.v91-auth-brand-face{width:32px;height:32px}.diio-tour-replay{margin:0 0 12px}}
@media(prefers-reduced-motion:reduce){.v91-auth-mascot,.v91-auth-mascot-wave{animation:none!important}}

.diio-auth-guest{margin-top:10px;min-height:42px;border-color:var(--line,#ded5e9)}

/* Safari login: let the document scroll instead of clipping the form in a capped card. */
body[data-route="login"]{height:auto!important;min-height:100dvh;overflow-x:hidden!important;overflow-y:auto!important}
body[data-route="login"] #app{height:auto!important;min-height:100dvh;overflow:visible!important}
body[data-route="login"] .login-screen{height:auto!important;min-height:100dvh!important;overflow:visible!important;place-items:start center!important;padding-bottom:90px!important}
@media(min-width:821px){body[data-route="login"] .v91-auth-card{max-height:none!important;overflow:hidden!important}body[data-route="login"] .v91-auth-form{min-height:auto!important;overflow:visible!important}}

/* Share artwork uses its complete original aspect ratio, without cropping. */
body[data-route="share"] .diio-share-feature-shell::before,
body[data-route="share"] .diio-share-feature-shell::after{display:none}
body[data-route="share"] .v1662-share-animation.diio-share-feature{
  width:100%;max-width:none;height:auto;display:block;object-fit:contain;
  animation:none;transform:none;filter:none;border-radius:0;
}
.diio-discovery-place-heading{display:flex;align-items:center;gap:10px}
.diio-discovery-place-icon{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center}
.diio-discovery-place-icon .d1-icon-3d{width:34px;height:34px}
.diio-discovery-place-icon svg{width:100%;height:100%}
