@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/m-plus-rounded-1c-japanese-500-normal-DRXkE3os.woff2)format("woff2"),url(/assets/m-plus-rounded-1c-japanese-500-normal-D5rTeBWW.woff)format("woff")}@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/m-plus-rounded-1c-latin-500-normal-D4L1U0OF.woff2)format("woff2"),url(/assets/m-plus-rounded-1c-latin-500-normal-udtNJXmd.woff)format("woff")}@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/m-plus-rounded-1c-japanese-800-normal-Dh4zP9wu.woff2)format("woff2"),url(/assets/m-plus-rounded-1c-japanese-800-normal-1TuJx5zN.woff)format("woff")}@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/m-plus-rounded-1c-latin-800-normal-941enk6N.woff2)format("woff2"),url(/assets/m-plus-rounded-1c-latin-800-normal-B5F1WBCU.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(/assets/fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fredoka-latin-700-normal-BOIZVyIN.woff2)format("woff2"),url(/assets/fredoka-latin-700-normal-C8FeHd3X.woff)format("woff")}:root{--okra:#2f7d32;--okra-deep:#226226;--okra-light:#7cc255;--flower:#ffc93c;--roof:#3a3f47;--ink:#2b2b2b;--paper:#fafaf7;--white:#fff;--muted:#6d716f;--line:#e6e5df;--error:#8c2f26;--error-bg:#fff2ef;--radius-lg:28px;--radius-md:20px;--shadow-card:0 12px 32px #3a3f4717;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-width:320px;min-height:100svh;color:var(--ink);background:radial-gradient(circle at 10% 6%, #7cc2552e, transparent 26%), radial-gradient(circle at 92% 0%, #ffc93c2e, transparent 24%), var(--paper);margin:0;font-family:"M PLUS Rounded 1c",system-ui,-apple-system,sans-serif;font-size:16px;font-weight:500;line-height:1.7}button,input{font:inherit}button{color:inherit}a{color:var(--okra)}:focus-visible{outline:3px solid var(--flower);outline-offset:3px;border-radius:8px}h1,h2,h3,p{margin:0}h1{letter-spacing:.01em;font-size:clamp(1.7rem,7vw,2.2rem);font-weight:800;line-height:1.25}h2{font-size:1.28rem;font-weight:800;line-height:1.35}h3{font-size:1.05rem;font-weight:800}.app-shell{min-height:100svh;padding:16px 16px 40px}.app-frame{width:100%;max-width:430px;margin:0 auto}.page{flex-direction:column;gap:20px;padding-top:4px;display:flex}.eyebrow{color:var(--okra);letter-spacing:.08em;font-size:1rem;font-weight:800;line-height:1.4}.page-head{flex-direction:column;gap:6px;padding-top:4px;display:flex}.page-lead{color:var(--muted);font-size:1rem;line-height:1.7}.stack{flex-direction:column;gap:12px;display:flex}.btn{text-align:center;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:12px 20px;font-size:1rem;font-weight:800;line-height:1.3;text-decoration:none;transition:transform .12s,box-shadow .12s,background-color .2s;display:inline-flex}.btn-primary{color:var(--white);background:var(--okra);box-shadow:0 5px 0 var(--okra-deep)}.btn-primary:active:not(:disabled){box-shadow:0 2px 0 var(--okra-deep);transform:translateY(3px)}.btn-secondary{color:var(--okra);background:var(--white);border:2px solid var(--okra-light);box-shadow:0 3px #2f7d3224}.btn-secondary:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #2f7d3224}.btn-ghost{color:var(--roof);background:0 0;border:2px solid #0000}.btn-ghost:active:not(:disabled){transform:translateY(2px)}.btn-large{min-height:58px;font-size:1.08rem}.btn-small{min-height:48px;padding:8px 16px}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.text-link{min-height:48px;color:var(--okra);text-underline-offset:4px;align-items:center;padding:0 12px;font-weight:800;text-decoration:underline;display:inline-flex}.brand-bar{justify-content:space-between;align-items:center;gap:12px;padding:2px 2px 20px;display:flex}.brand{min-height:52px;color:inherit;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-mark{background:var(--okra);width:46px;height:46px;box-shadow:0 4px 0 var(--okra-deep);border-radius:16px;flex:none;place-items:center;display:grid;transform:rotate(-3deg)}.brand-mark.is-small{width:34px;height:34px;box-shadow:0 3px 0 var(--okra-deep);border-radius:12px}.brand-star{width:26px;height:26px;fill:var(--white)}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-name{font-size:1.35rem;font-weight:800}.brand-sub{color:var(--muted);font-size:1rem;font-weight:700}.user-chip{background:var(--white);min-height:48px;color:var(--roof);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:1rem;font-weight:800;display:inline-flex;box-shadow:0 4px 14px #3a3f4714}.user-chip-dot{background:var(--okra-light);border-radius:50%;width:10px;height:10px}.inapp-banner{background:var(--roof);width:calc(100% - 32px);max-width:430px;color:var(--white);border-radius:18px;align-items:flex-start;gap:10px;margin:12px auto 0;padding:12px 16px;font-size:1rem;line-height:1.55;display:flex}.inapp-badge{background:var(--flower);width:24px;height:24px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.consent-page{justify-content:center;gap:22px;min-height:calc(100svh - 40px);padding:18px 4px 30px}.consent-hero{text-align:center;flex-direction:column;align-items:center;gap:12px;padding-top:10px;display:flex}.consent-mark{background:var(--okra);width:100px;height:100px;box-shadow:0 8px 0 var(--okra-deep);border-radius:32px;place-items:center;margin-bottom:8px;display:grid;position:relative;transform:rotate(-4deg)}.consent-mark .brand-mark{width:auto;height:auto;box-shadow:none;background:0 0;transform:none}.consent-mark .brand-star{width:56px;height:56px}.consent-mark-star{background:var(--flower);border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:-12px;right:-10px;box-shadow:0 3px #3a3f4724}.consent-mark-star svg{width:19px;height:19px;fill:var(--ink)}.consent-title{letter-spacing:.04em;font-size:clamp(2.4rem,13vw,3rem)}.consent-lead{max-width:22em;font-size:1.05rem;line-height:1.85}.consent-points{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.consent-points li{background:var(--white);border-radius:18px;align-items:flex-start;gap:11px;padding:13px 16px;font-size:1rem;line-height:1.65;display:flex;box-shadow:0 6px 18px #3a3f470f}.point-dot{background:var(--okra-light);border-radius:50%;flex:none;width:14px;height:14px;margin-top:7px}.consent-links{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.consent-button{width:100%}.consent-note{color:var(--muted);text-align:center;font-size:1rem;line-height:1.6}.notice{border-radius:18px;flex-direction:column;gap:6px;padding:14px 16px;font-size:1rem;line-height:1.7;display:flex}.notice-soft{color:var(--okra-deep);background:#eff7ec;border:2px solid #7cc25573}.notice-warm{color:var(--ink);background:#fff7dd;border:2px solid #ffc93cb3}.notice strong{font-weight:800}.loading{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:40px 20px;font-size:1rem;display:flex}.spinner{border:4px solid #e4e2da;border-top-color:var(--okra);border-radius:50%;width:42px;height:42px;animation:1s linear infinite spin}.error-box{background:var(--error-bg);border:2px solid #f0c9c2;border-radius:18px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.error-icon{background:var(--white);width:32px;height:32px;color:var(--error);border-radius:50%;flex:none;place-items:center;display:grid}.error-icon svg{width:20px;height:20px}.error-copy{flex-direction:column;flex:1;gap:10px;display:flex}.error-copy p{color:#6d241d;font-size:1rem;line-height:1.6}.page-tools{justify-content:space-between;gap:8px;display:flex}.card-group{flex-direction:column;gap:12px;display:flex}.group-head{justify-content:space-between;align-items:baseline;padding:4px 4px 0;display:flex}.group-count{color:var(--muted);font-size:1rem;font-weight:700}.card-tile{border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-card);border:1px solid #3a3f470a;flex-direction:column;gap:16px;padding:20px;display:flex;position:relative;overflow:hidden}.card-tile:before{content:"";background:var(--okra-light);width:6px;position:absolute;inset:0 auto 0 0}.card-tile.status-completed:before{background:var(--flower)}.card-tile.status-expired:before{background:#c9c7c0}.card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.card-shop{font-size:1.2rem;font-weight:800;line-height:1.35}.card-count{color:var(--muted);margin-top:2px;font-size:1rem}.card-count strong{color:var(--okra);font-family:Fredoka,"M PLUS Rounded 1c",sans-serif;font-size:1.7rem;font-weight:700;line-height:1}.card-tile.status-expired .card-count strong{color:#7c7a73}.status-pill{border:2px solid var(--okra-light);color:var(--okra-deep);white-space:nowrap;background:#eef7ea;border-radius:999px;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:1rem;font-weight:800;display:inline-flex}.status-pill.status-completed{background:var(--flower);color:var(--ink);border-color:#e0ad21}.status-pill.status-expired{color:#5c5b56;background:#f1f0ec;border-color:#c9c7c0}.status-shape{background:currentColor;border-radius:3px;width:10px;height:10px;transform:rotate(45deg)}.stamp-grid{gap:10px;display:grid}.stamp-slot{aspect-ratio:1;background:#fbfbf8;border:2.5px dashed #d8d6cd;border-radius:50%;place-items:center;min-height:44px;display:grid}.stamp-slot-star{fill:#dedcd4;width:58%;height:58%}.stamp-slot.is-filled{background:var(--okra);border:0;box-shadow:inset 0 -4px #0000001f,0 4px 10px #2f7d322e}.stamp-slot.is-filled .stamp-slot-star{fill:var(--white)}.card-meta{color:var(--muted);justify-content:space-between;gap:8px;font-size:1rem;display:flex}.reward-block{border-top:2px dashed var(--line);flex-direction:column;gap:10px;padding-top:14px;display:flex}.reward-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.reward-row{background:#fafaf6;border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.reward-pill{color:var(--okra-deep);background:#eef7ea;border-radius:999px;flex:none;align-items:center;gap:5px;padding:4px 10px;font-size:1rem;font-weight:800;line-height:1.4;display:inline-flex}.reward-pill.status-locked,.reward-pill.status-expired{color:#5c5b56;background:#f1f0ec}.reward-pill.status-used{color:#5c5b56;background:#e9e8e2}.reward-shape{background:currentColor;border-radius:50%;width:8px;height:8px}.reward-copy{flex:140px;min-width:0}.reward-name{font-size:1rem;font-weight:800;line-height:1.5}.reward-detail{color:var(--muted);font-size:1rem;line-height:1.5}.reward-use{flex:none}.empty-card{border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-card);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:34px 22px;display:flex}.empty-art{width:130px;height:112px;margin-bottom:6px;position:relative}.empty-qr{border:4px dashed var(--okra-light);background-image:radial-gradient(var(--okra) 1.8px, transparent 2.2px);opacity:.55;background-position:8px 8px;background-size:12px 12px;border-radius:22px;width:86px;height:86px;position:absolute;top:0;left:0}.empty-stamp{background:var(--flower);border-radius:50%;place-items:center;width:58px;height:58px;display:grid;position:absolute;bottom:0;right:0;transform:rotate(8deg);box-shadow:0 4px #e0ad21}.empty-stamp span{color:var(--ink);font-size:1.6rem;line-height:1}.empty-note{color:var(--muted);font-size:1rem}.state-card{border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-card);flex-direction:column;gap:14px;padding:26px 22px;display:flex}.state-lead{color:var(--muted);font-size:1rem;line-height:1.7}.result-card{background:var(--white);box-shadow:var(--shadow-card);border-radius:32px;flex-direction:column;align-items:flex-start;gap:12px;padding:28px 22px;display:flex;position:relative;overflow:hidden}.result-card.is-complete{background:linear-gradient(180deg, #fffdf4, var(--white))}.stamp-stage{flex-direction:column;align-self:center;align-items:center;gap:8px;padding:10px 0 6px;display:flex}.stamp-burst{background:var(--okra);width:132px;height:132px;box-shadow:0 10px 0 var(--okra-deep), 0 20px 30px #2f7d3238;border-radius:50%;place-items:center;animation:.6s cubic-bezier(.2,1.7,.4,1) both stamp-pop;display:grid}.stamp-burst svg{width:78px;height:78px;fill:var(--white)}.stamp-burst.is-gold{background:var(--flower);box-shadow:0 10px #e0ad21,0 20px 30px #e0ad2140}.stamp-burst.is-gold svg{fill:var(--ink)}.stamp-count{color:var(--okra);font-family:Fredoka,"M PLUS Rounded 1c",sans-serif;font-size:1.4rem;font-weight:700}.result-mark{background:#f1f0ec;border-radius:50%;align-self:center;place-items:center;width:78px;height:78px;margin:6px 0;display:grid}.result-mark svg{fill:#b9b7ae;width:44px;height:44px}.result-mark.is-calm{background:#eff7ec}.result-mark.is-calm svg{fill:var(--okra-light)}.result-lead{color:var(--roof);font-size:1.05rem;line-height:1.8}.reward-arrival{background:#fff7dd;border:2px solid #ffc93cb3;border-radius:20px;flex-direction:column;gap:8px;width:100%;padding:16px;display:flex}.reward-arrival-title{font-size:1.05rem;font-weight:800}.reward-arrival ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.reward-arrival li{align-items:center;gap:8px;font-weight:800;display:flex}.reward-spark{background:var(--flower);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.reward-spark svg{width:12px;height:12px;fill:var(--ink)}.reward-arrival-note{color:#6d5a1d;font-size:1rem}.result-actions{width:100%;margin-top:4px}.loading-stamp{background:#eff7ec;border-radius:50%;place-items:center;width:88px;height:88px;margin:0 auto;animation:1.4s ease-in-out infinite gentle-pulse;display:grid}.loading-stamp svg{width:48px;height:48px;fill:var(--okra-light)}.confetti{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti-piece{background:var(--piece-color);width:10px;height:16px;transform:translateX(var(--x)) rotate(var(--rotate));animation:confetti-fall 1.7s ease-in var(--delay) both;border-radius:3px;position:absolute;top:-12px;left:50%}.sheet-layer{z-index:100;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop{background:#2b2b2b73;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.sheet{width:100%;max-width:430px;max-height:88svh;padding:14px 20px calc(24px + env(safe-area-inset-bottom));background:var(--white);border-radius:28px 28px 0 0;flex-direction:column;gap:14px;animation:.28s cubic-bezier(.2,.9,.3,1) both sheet-up;display:flex;position:relative;overflow:auto;box-shadow:0 -10px 40px #0000002e}.sheet-handle{background:#dedcd4;border-radius:999px;align-self:center;width:48px;height:5px}.sheet-title{font-size:1.35rem}.sheet-body{flex-direction:column;gap:14px;display:flex}.sheet-lead{color:var(--roof);font-size:1.05rem;line-height:1.8}.sheet-close{min-height:48px;color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:1rem;font-weight:700}.confirm-shop{color:var(--muted);font-size:1rem}.confirm-reward{font-size:1.35rem;font-weight:800}.merge-card,.code-card{border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-card);flex-direction:column;gap:14px;padding:24px 20px;display:flex}.merge-illustration{background:var(--okra-light);border-radius:22px;place-items:center;width:64px;height:64px;display:grid;box-shadow:0 4px #2f7d3240}.merge-illustration svg{width:36px;height:36px;fill:var(--white)}.merge-card p{color:var(--roof);font-size:1rem;line-height:1.75}.merge-note{color:var(--muted);font-size:1rem}.field-label{font-size:1rem;font-weight:800}.text-input{border:2px solid var(--line);background:var(--white);width:100%;min-height:56px;color:var(--ink);border-radius:18px;padding:12px 16px;font-size:1.1rem}.text-input:focus{border-color:var(--okra-light)}.code-input{letter-spacing:.12em;font-family:Fredoka,"M PLUS Rounded 1c",monospace;font-size:1.25rem}.code-card{text-align:center;background:#fffdf4;border:2px solid #ffc93ca6;align-items:center}.code-value{background:var(--flower);width:100%;color:var(--ink);letter-spacing:.14em;overflow-wrap:anywhere;border-radius:18px;padding:14px 10px;font-family:Fredoka,"M PLUS Rounded 1c",monospace;font-size:2rem;font-weight:700;line-height:1.2}.code-expiry{color:var(--muted);font-size:1rem}.copy-button{width:100%}.copy-button svg{width:20px;height:20px}.copy-feedback{color:var(--okra-deep);font-size:1rem;font-weight:800}.switch-account{border-top:2px dashed var(--line);flex-direction:column;gap:10px;padding-top:16px;display:flex}.switch-account.standalone{border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-card);border-top:0;padding:20px}.switch-account p{color:var(--muted);font-size:1rem;line-height:1.7}.used-screen{z-index:200;padding:24px 20px calc(24px + env(safe-area-inset-bottom));background:var(--paper);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.used-screen:before{content:"";background:#7cc2552e;border-radius:50%;width:240px;height:240px;position:absolute;top:-70px;right:-80px}.used-screen:after{content:"";background:#ffc93c3d;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-90px;left:-70px}.used-inner{z-index:3;text-align:center;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:430px;display:flex;position:relative}.used-ring{background:var(--flower);border-radius:50%;place-items:center;width:150px;height:150px;margin-bottom:6px;animation:1.9s ease-in-out infinite used-bob;display:grid;box-shadow:0 12px #e0ad21,0 0 0 10px #ffc93c40}.used-ring-check{background:var(--white);border-radius:50%;place-items:center;width:88px;height:88px;display:grid}.used-ring-check svg{width:58px;height:58px;color:var(--okra)}.used-shop{color:var(--roof);font-size:1.05rem;font-weight:700}.used-title{letter-spacing:.06em;font-size:2.4rem}.used-reward{color:var(--okra-deep);font-size:1.3rem;font-weight:800}.used-at{color:var(--muted);font-size:1rem}.live-clock{background:var(--roof);min-width:228px;color:var(--white);border-radius:22px;flex-direction:column;align-items:center;gap:2px;margin-top:6px;padding:12px 22px;display:flex}.live-clock-date{opacity:.8;font-size:1rem}.live-clock-time{font-variant-numeric:tabular-nums;letter-spacing:.08em;font-family:Fredoka,monospace;font-size:2rem;font-weight:700;line-height:1.3}.used-hint{max-width:20em;color:var(--muted);font-size:1rem;line-height:1.6}.used-close{width:100%;margin-top:6px}.prose-card{border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-card);flex-direction:column;gap:14px;padding:22px;display:flex}.prose-card p{font-size:1rem;line-height:1.9}.draft-badge{background:var(--flower);color:var(--ink);border-radius:999px;align-self:flex-start;padding:4px 12px;font-size:1rem;font-weight:800}.mock-section{background:var(--white);box-shadow:var(--shadow-card);border-radius:22px;flex-direction:column;gap:10px;padding:18px;display:flex}.mock-buttons,.mock-links{flex-wrap:wrap;gap:8px;display:flex}.mock-state{font-size:1rem}.mock-note{color:var(--muted);font-size:1rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes stamp-pop{0%{opacity:0;transform:scale(.2)rotate(-18deg)}55%{opacity:1;transform:scale(1.14)rotate(4deg)}78%{transform:scale(.94)rotate(-2deg)}to{transform:scale(1)rotate(0)}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes confetti-fall{0%{transform:translate(var(--x), -20px) rotate(var(--rotate));opacity:0}10%{opacity:1}to{transform:translate(calc(var(--x) + 34px), 520px) rotate(calc(var(--rotate) + 220deg));opacity:0}}@keyframes used-bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-8px)rotate(2deg)}}@keyframes gentle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (width>=720px){.app-shell{padding:24px 24px 56px}.app-frame,.inapp-banner,.sheet{max-width:460px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.confetti{display:none}.spinner{border-top-color:#c9c7c0}.used-ring,.stamp-burst,.loading-stamp{animation:none}}.cards-footer{justify-content:center;padding:20px 0 12px;display:flex}.feedback-trigger{color:var(--muted);font-size:.9rem}.feedback-textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}.feedback-meta{justify-content:flex-end;margin-top:-6px;font-size:.85rem;display:flex}
