/* One mobile web shell for every viewport. No install, worker or app runtime. */
:root{--app-shell-width:448px;--app-shell-paper:#fbf8f1;--app-shell-gutter:20px;--app-viewport-width:100vw;--app-viewport-height:100dvh}
body.gyeol-app-shell{width:auto;max-width:none!important;min-width:0;margin:0;overflow-wrap:break-word}
body.gyeol-app-shell :is(.workspace,main,header.site-header,.catalog-top,.reading-footer,.reading-status),body.gyeol-app-shell>:is(header,footer){box-sizing:border-box;width:100%;max-width:var(--app-shell-width)!important;min-width:0;margin-left:auto!important;margin-right:auto!important}
body.gyeol-app-shell :is(#app,#shop-app,#reading-app,#zodiac-app){max-width:var(--app-shell-width)!important;min-width:0}
body.gyeol-app-shell .workspace{padding:0}
body.gyeol-app-shell header.site-header{margin-top:0;margin-bottom:0;grid-template-rows:44px}
body.gyeol-app-shell.directory-navigation{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
body.gyeol-app-shell .directory-bottom-nav{position:fixed;top:auto;bottom:0;left:50%;right:auto;transform:translateX(-50%);box-sizing:border-box;width:min(100%,var(--app-shell-width));max-width:var(--app-shell-width);min-height:80px;padding:15px 10px calc(15px + env(safe-area-inset-bottom,0px));border-top:1px solid #e6e3da;border-bottom:0;border-radius:0;grid-template-columns:repeat(5,minmax(0,1fr))}
body.gyeol-app-shell .directory-bottom-nav a{flex-direction:column;min-height:48px;font-size:12px}
body.gyeol-app-shell .directory-bottom-nav svg{width:22px;height:22px}
body.gyeol-app-shell :is(.reading-action,.result-floating){box-sizing:border-box;left:50%;right:auto;transform:translateX(-50%);width:min(100%,var(--app-shell-width));max-width:var(--app-shell-width)}
body.gyeol-app-shell :is(.home-shelf-track,.home-service-grid,.directory-catalog,.zodiac-collection){grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.gyeol-app-shell .home-shelf-track.topic-track{display:flex;grid-template-columns:none!important}
body.gyeol-app-shell .topic-track>.home-service-card{flex:0 0 70%}
body.gyeol-app-shell #app .home-discovery .directory-feature{max-width:none;margin:16px 16px 12px}
body.gyeol-app-shell #app .discovery-viewport{width:100%;overflow:hidden}
body.gyeol-app-shell #home-service-carousel .discovery-slide{height:340px;border-right:0!important}
body.gyeol-app-shell #app .brand-story h1{font-size:28px}
body.gyeol-app-shell #app .home-discovery .product-art-copy h3,body.gyeol-app-shell .product-art-copy h2{font-size:20px}
body.gyeol-app-shell :is(.choice-options,.report-toc,.collection-reading-grid,.ops-columns,.reading-contents){grid-template-columns:1fr;columns:1}
body.gyeol-app-shell .deck-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
body.gyeol-app-shell :is(.ops-stats,.ops-token-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
body.gyeol-app-shell :is(.bonus-showcase,#zodiac-app .bonus-showcase){grid-template-columns:1fr}
body.gyeol-app-shell :is(form,fieldset,input,select,textarea,button){min-width:0;box-sizing:border-box}
body.gyeol-app-shell :is(input,select,textarea){max-width:100%}
body.gyeol-app-shell :is(img,svg,video,canvas){max-width:100%}
body.gyeol-app-shell :is(.report-chart,.table-scroll,.admin-table-wrap){max-width:100%;overflow-x:auto}
body.gyeol-app-shell dialog{box-sizing:border-box;width:min(calc(var(--app-viewport-width,100vw) - 32px),416px)!important;max-width:calc(min(var(--app-viewport-width,100vw),448px) - 32px)!important;max-height:calc(var(--app-viewport-height,100dvh) - 32px)!important;overflow:auto;overflow-wrap:anywhere}
body.gyeol-app-shell #site-menu{left:auto;right:max(0px,calc((var(--app-viewport-width,100vw) - 448px)/2));width:min(330px,calc(var(--app-viewport-width,100vw) - 32px))!important;max-width:calc(min(var(--app-viewport-width,100vw),448px) - 32px)!important;margin:0}
body.gyeol-app-shell #site-menu[open]{animation:app-drawer-in .18s ease-out;transform:none}
@keyframes app-drawer-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){body.gyeol-app-shell #site-menu[open]{animation:none}}
body.gyeol-app-shell #report-completion-notices{left:50%;right:auto;transform:translateX(-50%);width:min(calc(100% - 32px),416px);max-width:416px}
body.gyeol-app-shell :is(.toast,.support-toast){box-sizing:border-box;max-width:min(calc(var(--app-viewport-width,100vw) - 32px),416px)}
body.gyeol-app-shell :is(.support-toast,.nyang-payment-complete){left:50%;right:auto;transform:translateX(-50%);width:min(calc(var(--app-viewport-width,100vw) - 32px),416px);box-sizing:border-box}
body.gyeol-app-shell :is(#service-action-dock,#zodiac-status:not(:empty)){box-sizing:border-box;max-width:416px;width:min(calc(100% - 32px),416px)}
body.gyeol-app-shell .tarot-image-large{width:min(100%,calc((var(--app-viewport-height,100dvh) - 122px)*.6));max-width:100%;height:auto}

@media (hover:hover) and (pointer:fine){html{zoom:1.25}:root{--app-viewport-width:80vw;--app-viewport-height:80dvh}}
