/* Only the dedicated mobile installation screen uses these rules. */
.pwa-install-required .pwa-tools{display:none}
.pwa-entry-screen{--pwa-entry-update-height:0px;box-sizing:border-box;height:calc(100dvh - var(--pwa-entry-update-height));min-height:0;display:flex;flex-direction:column;padding:env(safe-area-inset-top) max(10px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(10px,env(safe-area-inset-left));color:#244660;background:linear-gradient(#fffaf0de,#fff6e5eb),url('/assets/shop-background.png') center/cover;font-family:Meiryo,sans-serif}
.pwa-entry-header{height:48px;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:760px;width:100%;margin:0 auto;border-bottom:1px solid #ccb58b}
.pwa-entry-header>div{display:flex;align-items:center;gap:8px}.pwa-entry-header strong{font:700 23px 'Yu Mincho',serif;letter-spacing:2px}.pwa-entry-mark{display:grid;place-items:center;background:#b72d49;color:#fff;clip-path:polygon(50% 0,100% 20%,93% 100%,7% 100%,0 20%);width:28px;height:33px;font:23px 'Yu Mincho',serif}.pwa-entry-header a{color:#365774;font-size:11px;text-underline-offset:3px;padding:10px 0}
.pwa-entry-main{display:flex;flex:1;min-height:0;justify-content:center;align-items:center;padding:8px 0}
.pwa-entry-content{box-sizing:border-box;width:100%;max-width:640px;max-height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:clamp(7px,1.3dvh,15px);padding:3px 3px 6px}
.pwa-entry-title{text-align:center;flex:none}.pwa-entry-title p{margin:0 0 3px;font-size:12px;letter-spacing:2px;color:#886543}.pwa-entry-title h1{margin:0;font:700 clamp(24px,6vw,35px)/1.4 'Yu Mincho',serif;letter-spacing:1px}
.pwa-entry-welcome{display:grid;grid-template-columns:42% minmax(0,1fr);gap:6px;align-items:center;flex:none}
.pwa-entry-welcome img{width:100%;height:clamp(115px,24dvh,245px);object-fit:contain;object-position:center;filter:drop-shadow(0 5px 5px #63451d20)}
.pwa-entry-speech{position:relative;box-sizing:border-box;margin:0;padding:14px 12px;border:2px solid #315b79;border-radius:20px 20px 20px 4px;background:#fffef9;box-shadow:3px 4px 0 #c9d9d9;font:700 clamp(15px,3.8vw,21px)/1.65 Meiryo,sans-serif;overflow-wrap:anywhere}
.pwa-entry-steps{flex:none;margin:0;background:#fffdf6;border:1px solid #ceb589;border-radius:16px;padding:12px 14px;box-shadow:0 3px 12px #7851260c}.pwa-entry-steps h2{font:700 16px/1.5 Meiryo,sans-serif;margin:0 0 6px;color:#9b344b}.pwa-entry-steps ol{padding-left:1.6em;margin:0;font-size:14px;line-height:1.7}.pwa-entry-steps li+li{margin-top:5px}.pwa-entry-note{font-size:11px;line-height:1.65;color:#65584b;margin:7px 0 0}
.pwa-entry-install{display:block;width:100%;min-height:44px;margin:8px 0 10px;padding:9px;border:1px solid #163a5b;border-radius:10px;background:#214d70;color:#fff;font:700 15px/1.5 Meiryo,sans-serif;cursor:pointer}.pwa-entry-install[hidden]{display:none}.pwa-entry-install:disabled{opacity:.7}
.pwa-entry-status{flex:none;text-align:center;font-size:12px;line-height:1.7;margin:0;color:#4a5c66}.pwa-entry-help{flex:none;font-size:11px;line-height:1.7;color:#5f5a51;padding:0 4px}.pwa-entry-help summary{cursor:pointer;min-height:28px;display:list-item;list-style:disclosure-closed inside}.pwa-entry-help[open] summary{list-style-type:disclosure-open}.pwa-entry-help p{padding:8px;background:#fff9e9;border-radius:8px;margin:4px 0}
@media(max-height:650px){.pwa-entry-header{height:40px;min-height:40px}.pwa-entry-main{padding:5px 0}.pwa-entry-content{gap:6px}.pwa-entry-title h1{font-size:24px}.pwa-entry-title p{font-size:10px}.pwa-entry-welcome img{height:115px}.pwa-entry-speech{font-size:14px;padding:10px}.pwa-entry-steps{padding:9px 11px}.pwa-entry-steps h2{font-size:14px;margin-bottom:3px}.pwa-entry-steps ol{font-size:12px;line-height:1.6}.pwa-entry-steps li+li{margin-top:3px}.pwa-entry-note{font-size:10px;line-height:1.5;margin-top:4px}.pwa-entry-status,.pwa-entry-help{font-size:10px}}
@media(min-width:600px) and (min-height:900px){.pwa-entry-content{gap:18px}.pwa-entry-header{height:60px;min-height:60px}.pwa-entry-welcome img{height:285px}.pwa-entry-speech{font-size:24px;padding:20px}.pwa-entry-steps{padding:20px 25px}.pwa-entry-steps h2{font-size:20px}.pwa-entry-steps ol{font-size:18px}.pwa-entry-note,.pwa-entry-status,.pwa-entry-help{font-size:14px}}
