@font-face{font-family:Mochiy Pop One;font-style:normal;font-display:swap;font-weight:400;src:url(./mochiy-pop-one-japanese-400-normal-QEf6zQoH.woff2) format("woff2")}@font-face{font-family:Mochiy Pop One;font-style:normal;font-display:swap;font-weight:400;src:url(./mochiy-pop-one-latin-400-normal-B-XEkQuZ.woff2) format("woff2")}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-display:swap;font-weight:500;src:url(./zen-maru-gothic-japanese-500-normal-D4izSh-C.woff2) format("woff2")}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-display:swap;font-weight:700;src:url(./zen-maru-gothic-japanese-700-normal-ChLL3Jki.woff2) format("woff2")}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-display:swap;font-weight:900;src:url(./zen-maru-gothic-japanese-900-normal-BrCxPwxs.woff2) format("woff2")}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-display:swap;font-weight:500;src:url(./zen-maru-gothic-latin-500-normal-SHJzRquW.woff2) format("woff2")}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-display:swap;font-weight:700;src:url(./zen-maru-gothic-latin-700-normal-CSiy1nnP.woff2) format("woff2")}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-display:swap;font-weight:900;src:url(./zen-maru-gothic-latin-900-normal-ClrOxROE.woff2) format("woff2")}:root{--font-display: "Mochiy Pop One", "Zen Maru Gothic", sans-serif;--font-ui: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}html{height:100dvh}body{font-family:var(--font-ui);font-weight:700;color:var(--ink);background:var(--paper);-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility;overscroll-behavior:none;touch-action:manipulation}button,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}:root,:root[data-profile=adult]{--paper: #ffffff;--paper-deep: #ffffff;--sheet: #ffffff;--ink: #15241c;--muted: #5c6e63;--line: #cfd8d2;--leaf: #1e7a48;--leaf-deep: #145734;--sky: #1f6f8a;--sun: #c99512;--coral: #c44738;--focus: #15241c;--bar-green: #1e7a48;--bar-yellow: #c99512;--bar-orange: #c56a1e;--bar-red: #b53d30;--font-size-base: 20px;--btn-min-size: clamp(48px, 8dvh, 56px);--choice-min: clamp(52px, 11dvh, 72px);--animation-speed: .22s;--radius: 14px;--ad-banner-height: 56px;--grain: none}:root[data-profile=adult]{--radius: 12px}html{font-size:clamp(16px,2.1vh + 1.6vw,var(--font-size-base))}.app-frame{height:100dvh;height:100svh;max-height:100dvh;overflow:hidden;background:#fff}.app-frame:before{content:none}.screen{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;padding:calc(8px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left));overflow:hidden;gap:6px}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:var(--btn-min-size);flex:0 0 auto;position:relative;z-index:5}.icon-btn{display:grid;place-items:center;width:var(--btn-min-size);height:var(--btn-min-size);border-radius:var(--radius);background:transparent;border:1.5px solid var(--line);color:var(--ink)}.icon-btn svg{width:1.35rem;height:1.35rem}.brand{font-family:var(--font-display);font-size:clamp(1.45rem,6.4vw,2.4rem);line-height:1.35;letter-spacing:.01em;text-align:center;margin:0;max-width:12.5em;text-wrap:balance;color:var(--ink)}.lede{margin:.45rem 0 0;text-align:center;color:var(--muted);font-size:1rem;font-weight:600}.stack{display:flex;flex-direction:column;gap:10px}.grow{flex:1 1 auto;min-height:0}.paper-btn{min-height:var(--btn-min-size);padding:.75rem 1rem;border-radius:var(--radius);background:#fff;border:1.5px solid var(--line);box-shadow:none;text-align:left}.paper-btn:active{background:#f4f7f5;border-color:var(--ink);transform:none}.paper-btn strong{display:block;font-size:1.22rem;color:var(--ink)}.paper-btn span{display:block;margin-top:.12rem;color:var(--muted);font-size:.9rem;font-weight:600}.primary-btn,.ghost-btn{min-height:var(--btn-min-size);width:100%;border-radius:var(--radius);font-size:1.12rem;font-weight:800;box-shadow:none}.primary-btn{background:var(--leaf);color:#fff;border:1.5px solid var(--leaf-deep)}.primary-btn:disabled{opacity:.4}.primary-btn:active:not(:disabled){background:var(--leaf-deep);transform:none}.ghost-btn{background:#fff;color:var(--ink);border:1.5px solid var(--line)}.ghost-btn:active{background:#f4f7f5;transform:none}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(6px,1.2dvh,10px);flex:0 0 auto}.choice-grid[data-count="2"] .choice-btn{min-height:calc(var(--choice-min) + 8px)}.choice-btn{min-height:var(--choice-min);border-radius:var(--radius);background:#fff;border:1.5px solid var(--line);font-size:clamp(.95rem,2.8vh,1.15rem);font-weight:800;color:var(--ink);box-shadow:none;padding:.3rem}.choice-btn:active{background:#f4f7f5;border-color:var(--ink);transform:none}.choice-btn:disabled{opacity:.7}.choice-btn.is-correct{background:var(--leaf);border-color:var(--leaf-deep);color:#fff}.choice-btn.is-wrong{background:#fff;border-color:var(--coral);color:var(--coral)}.question-stage{flex:1 1 auto;min-height:0;display:grid;padding:4px 2px;overflow:hidden;container-type:size}.question-stage>*{width:100%;height:100%;min-height:0}.quiz-actions{flex:0 0 auto;display:flex;flex-direction:column;gap:8px}.quiz-meter{flex:0 0 auto}.hint{margin:0;text-align:center;color:var(--muted);font-size:clamp(.8rem,2.2vh,.95rem);font-weight:600}.dots{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.dot{width:8px;height:8px;border-radius:50%;background:var(--line)}.dot.is-done{background:var(--leaf)}.dot.is-now{background:var(--ink);transform:scale(1.15);animation:dot-pulse 1.25s ease-in-out infinite}@keyframes dot-pulse{0%,to{transform:scale(1.15)}50%{transform:scale(1.55)}}@media(prefers-reduced-motion:reduce){.dot.is-now{animation:none}}.speed-track{height:6px;margin:6px 0 2px;border-radius:2px;background:var(--line);overflow:hidden}.speed-fill{height:100%;width:0%;border-radius:inherit;background:var(--bar-green);transform-origin:left center}.speed-fill[data-zone=yellow]{background:var(--bar-yellow)}.speed-fill[data-zone=orange]{background:var(--bar-orange)}.speed-fill[data-zone=red]{background:var(--bar-red)}.stamp{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--ink) 42%,transparent);z-index:4}.stamp.is-fading{animation:stamp-fade-out .35s ease forwards;pointer-events:none}.stamp-card{width:min(100%,280px);display:flex;flex-direction:column;gap:10px;padding:1.15rem 1.2rem 1.2rem;border-radius:var(--radius);background:#fff;border:1.5px solid var(--line);box-shadow:none;animation:stamp-pop var(--animation-speed) ease-out}.stamp-card p{margin:0 0 4px;font-family:var(--font-display);font-size:clamp(1.8rem,7vw,2.4rem);text-align:center;color:var(--ink)}.stamp-card .stamp-title{margin-bottom:0}.stamp-card.insight-stamp-card{width:min(100%,360px)}.stamp-insight-result{display:flex;flex-direction:column;align-items:center;gap:8px}.stamp-insight-animation{width:min(100%,220px);aspect-ratio:1;overflow:hidden;border:1.5px solid var(--line);border-radius:8px;background:#fff}.stamp-insight-animation>*{width:100%;height:100%}.stamp-card .stamp-insight-caption{margin:0;font-family:var(--font-ui);font-size:.78rem;font-weight:800;line-height:1.35;color:var(--leaf-deep)}.stamp-card .stamp-detail{margin:-2px 0 2px;font-family:var(--font-ui);font-size:.82rem;font-weight:700;line-height:1.45;color:var(--muted)}.stamp-card .primary-btn,.stamp-card .ghost-btn{margin:0}@keyframes stamp-pop{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes stamp-fade-out{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.stamp.is-fading{animation:none;opacity:0}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;padding:16px;background:#fff}.countdown-num{font-family:var(--font-display);font-size:clamp(4.2rem,22vw,7rem);margin:0;white-space:nowrap;line-height:1;color:var(--ink)}.countdown-num.is-phrase{font-size:clamp(2.2rem,11vw,3.6rem)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
