/* Keep the supplied demo's composition; add only portrait sizing and poster delivery. */
.shell{width:min(100%,56.25dvh);container-type:inline-size}.brand .brand-wordmark{width:64px;height:auto}.tool{min-height:44px}.wide{display:inline}.brand{gap:8px}.brand>span{display:none}.back,.quiz-back,.poster-share{min-height:44px}.scent-stage{max-width:100%}.home-scene{min-height:calc(100dvh - 145px)}.home-copy h1{font-size:clamp(38px,10cqw,65px)}.home-copy p{padding:0 4px}.primary{background:linear-gradient(120deg,#7547d6,#9047ff 55%,#c461c3)}
.card-foot{align-items:center;gap:16px;position:relative;z-index:2}.card-foot>b{font-size:10px;max-width:55%;line-height:1.6}.card-qr{display:flex;flex-direction:column;align-items:center;gap:5px;flex:none}.card-qr canvas{width:96px;height:96px;display:block;background:white;border-radius:6px}.card-qr span{font-size:8px;color:#bdb2cc}.signal{overflow-wrap:anywhere}.note-card{min-width:0}.note-card span{overflow-wrap:anywhere}.card-top{gap:8px}.card-top span:last-child{text-align:right}.scent-aura{max-width:100%}
.poster-attachment{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center;border:1px solid var(--line);border-radius:19px;background:linear-gradient(145deg,#1c1429,#110e19);padding:18px;margin-top:16px}.poster-thumb{border:0;background:none;padding:0;display:block;line-height:0}.customer-poster{display:block;width:100%;height:auto;border-radius:6px}.poster-attachment h3{font-size:19px;margin:6px 0}.poster-attachment p{font-size:11px;line-height:1.6;margin:0 0 6px}.poster-attachment .primary{min-height:44px;font-size:12px;padding:10px;margin-top:3px}.poster-share{border:0;background:none;color:#b7a2d3;font-size:11px;padding:6px 0}.poster-attachment .eyebrow{font-size:8px;letter-spacing:.08em}
.save-link{display:block;text-align:center;text-decoration:none;color:white}.save-link[hidden]{display:none}dialog{width:min(94vw,460px);max-height:94dvh;background:#15101f;color:var(--ink);border:1px solid #55436d;border-radius:22px;padding:22px;overflow:auto}dialog::backdrop{background:#06030de8}dialog h2{font-size:23px;margin-bottom:16px}dialog img{width:100%;max-height:64dvh;object-fit:contain;display:block}dialog p{font-size:12px;margin:14px 0}.dialog-close{position:absolute;right:5px;top:5px;min-width:44px;min-height:44px;border:0;background:none;font-size:28px}.download-page{text-align:center;padding:30px 0}.download-page h2{margin:10px 0}.download-page>p{font-size:13px}.download-page img{display:block;width:100%;height:auto;border-radius:10px}.download-hint{margin:10px 0}.shell[data-screen=quiz] main>section{padding-bottom:20px}button{touch-action:manipulation}
@media(min-width:601px){.scent-stage{height:76cqw;max-height:440px}.home-kiro-stage{width:42cqw;max-width:225px}.portal-ring.one{width:74cqw;height:57cqw;max-width:400px;max-height:305px}.portal-ring.two{width:61cqw;height:70cqw;max-width:330px;max-height:380px}.portal-ring.three{width:50cqw;height:50cqw;max-width:270px;max-height:270px}}
@media(max-width:600px){.shell{width:100%;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}.tools{gap:5px}.tool{font-size:10px}.brand .brand-wordmark{width:58px}.brand>img:first-child{width:28px;height:28px}.home-scene{padding:10px 0 6px;min-height:calc(100dvh - 125px)}.scent-stage{height:70cqw;max-height:300px}.home-kiro-stage{width:38cqw;max-width:155px}.portal-ring.one{width:70cqw;height:53cqw}.portal-ring.two{width:57cqw;height:69cqw}.portal-ring.three{width:47cqw;height:47cqw}.home-copy h1{font-size:42px}.home-copy p{font-size:13px}.home-invitation{margin-top:17px}.interview-panel{padding:22px 18px}.speech-box textarea{font-size:16px}.chip{min-height:44px}.question-panel{padding:22px 18px}.scale{gap:6px}.scale button{min-height:48px;height:54px}.print-card{padding:20px}.card-hero{min-height:255px}.card-top{font-size:7px;letter-spacing:.06em}.card-qr canvas{width:82px;height:82px}.poster-attachment{grid-template-columns:90px 1fr;padding:15px;gap:14px}.print-card{aspect-ratio:auto}.print-actions .primary,.print-actions .secondary{font-size:12px}.scent-stage .scent-word{font-size:7px}}
@media(max-height:700px) and (max-width:600px){.home-copy h1{font-size:36px;margin-bottom:10px}.scent-stage{height:55cqw;max-height:220px}.home-kiro-stage{width:32cqw}.portal-ring.one{width:59cqw;height:44cqw}.portal-ring.two{width:46cqw;height:54cqw}.portal-ring.three{width:37cqw;height:37cqw}.home-copy .eyebrow{margin-bottom:10px}.home-copy p{font-size:12px}.home-invitation{margin-top:10px}.home-whisper{margin-top:10px}.home-invitation .primary{min-height:50px}.home-scene{padding-top:0}footer{padding-top:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.poster-attachment,dialog,.download-page{display:none!important}.card-qr canvas{width:24mm;height:24mm}}
.home-scene:before{left:0;right:0}

@media(min-width:800px) and (min-height:1000px){.home-scene{min-height:calc(var(--screen-height) - 145px)}}
/* Slow homepage color drift and a small, unhurried invitation arrow. */
.shell[data-screen=home] .home-copy .gradient-text{background-image:linear-gradient(105deg,#fff 0%,#c8b3ff 28%,#ffadd5 51%,#d5c0ff 75%,#fff 100%);background-size:240% 100%;background-position:0% 50%;animation:home-title-color-drift 14s ease-in-out infinite}
.shell[data-screen=home] .home-invitation .primary{background-image:linear-gradient(115deg,#7547d6 0%,#9047ff 28%,#bc65c8 54%,#914ee9 78%,#7547d6 100%);background-size:260% 100%;background-position:0% 50%;animation:home-button-color-drift 18s ease-in-out infinite}
.shell[data-screen=home] .home-cta-arrow{display:inline-block;margin-left:9px;animation:home-invitation-arrow 5.5s ease-in-out infinite}
@keyframes home-title-color-drift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes home-button-color-drift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes home-invitation-arrow{0%,100%{transform:translateX(0);opacity:.85}50%{transform:translateX(5px);opacity:1}}
@media(prefers-reduced-motion:reduce){.shell[data-screen=home] .home-copy .gradient-text,.shell[data-screen=home] .home-invitation .primary,.shell[data-screen=home] .home-cta-arrow{animation:none!important}.shell[data-screen=home] .home-cta-arrow{transform:none;opacity:1}}
