:root{color-scheme:light dark;--bg: #f2f2f7;--card: #ffffff;--ink: #1c1c1e;--sub: #6e6e73;--line: rgba(60, 60, 67, .14);--accent: #1e3a5f;--on-accent: #ffffff;--accent-tint: rgba(30, 58, 95, .09);--ok: #2e8b57;--on-ok: #ffffff;--ok-tint: rgba(46, 139, 87, .13);--ng: #c94b3c;--ng-tint: rgba(201, 75, 60, .12);--shadow: 0 2px 0 var(--pop-shadow);--sheet-shadow: 0 -2px 0 var(--pop-shadow);--line-strong: rgba(28, 28, 30, .28);--hl: #f7d774;--pop-shadow: rgba(30, 58, 95, .22);--accent-tint2: rgba(30, 58, 95, .24);--radius: 16px;--radius-btn: 14px;--tabbar-h: 54px;--font-body: "Zen Maru Gothic", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif;--font-pop: "Mochiy Pop One", "Zen Maru Gothic", sans-serif}@media (prefers-color-scheme: dark){:root{--bg: #101114;--card: #1c1d23;--ink: #f2f2f5;--sub: #9a9aa2;--line: rgba(255, 255, 255, .1);--accent: #8fb4e3;--on-accent: #0e1c2e;--accent-tint: rgba(143, 180, 227, .14);--ok: #4fae76;--on-ok: #0c1710;--ok-tint: rgba(79, 174, 118, .16);--ng: #e07061;--ng-tint: rgba(224, 112, 97, .15);--shadow: none;--sheet-shadow: 0 -2px 0 rgba(255, 255, 255, .22);--line-strong: rgba(255, 255, 255, .22);--hl: rgba(247, 215, 116, .4);--pop-shadow: rgba(0, 0, 0, .45);--accent-tint2: rgba(143, 180, 227, .3)}}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%;overscroll-behavior:none}body.noscroll{overflow:hidden}#app{height:100%}.shell{height:100vh;height:100dvh;max-width:560px;margin:0 auto;display:flex;flex-direction:column}.content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(env(safe-area-inset-top) + 14px) 16px 32px}.content.with-tabs{padding-bottom:32px}.tabbar{flex:none;display:flex;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar.hidden{display:none}.tab{flex:1;min-height:var(--tabbar-h);border:none;background:none;font-family:inherit;font-size:13px;font-weight:600;color:var(--sub);cursor:pointer;border-top:2px solid transparent;margin-top:-1px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:color .15s}.tab.on{color:var(--accent);border-top-color:var(--accent)}.tab:active{opacity:.6}.page{display:flex;flex-direction:column;gap:12px;animation:pageIn .22s ease-out}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.lt{font-family:var(--font-pop);font-size:25px;font-weight:400;letter-spacing:.02em;margin:4px 0 0;align-self:flex-start;display:inline-block;padding:0 6px;background:linear-gradient(transparent 60%,var(--hl) 60%,var(--hl) 94%,transparent 94%)}h2{font-size:19px;font-weight:700;margin:4px 0 2px}h3{font-size:16px;font-weight:700;margin:0 0 8px}h1,h2,h3,.lt{text-wrap:balance}.lead,.sub,.note,.card p,.statline,.celebText{text-wrap:pretty}.apphead{margin-bottom:2px}.goalline{margin:2px 0 0;color:var(--sub);font-size:14px}.sub{color:var(--sub);font-size:14px;margin:0}.note{color:var(--sub);font-size:13px;margin:0;line-height:1.55}.brand{font-family:var(--font-pop);font-size:33px;font-weight:400;letter-spacing:.1em;display:inline-block;align-self:center;background:var(--accent);color:var(--on-accent);padding:14px 28px 12px;border-radius:18px;transform:rotate(-2deg);box-shadow:0 0 0 3px var(--card),0 0 0 6px var(--accent),9px 10px 0 var(--pop-shadow);margin:52px auto 22px}.brand.small{font-size:15px;letter-spacing:.08em;padding:6px 14px 5px;border-radius:10px;margin:4px 0 8px;align-self:flex-start;transform:rotate(-1.5deg);box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--accent),4px 5px 0 var(--pop-shadow)}.hero{text-align:center}.lead{color:var(--sub);margin:0 0 20px}.features{text-align:left;margin:0 0 24px;padding:0 0 0 1.4em}.features li{margin-bottom:8px}.stepline{color:var(--sub);font-size:13px;font-weight:600;margin:0}.card{background:var(--card);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);border:1.5px solid var(--line-strong)}.card h2{margin-top:0}.group{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1.5px solid var(--line-strong);overflow:hidden}.row{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px 16px;border:none;background:none;font-family:inherit;font-size:16px;font-weight:500;color:var(--ink);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}.row+.row{border-top:1px solid var(--line)}.row:active{background:var(--accent-tint)}.row .rowsub{color:var(--sub);font-size:14px;font-weight:400}.row.danger{color:var(--ng)}a.row{text-decoration:none}div.row{cursor:default}div.row:active{background:none}.row.col{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:12px 16px}.row.col .rowsub{font-size:13px;text-align:left}.statline{display:flex;justify-content:space-between;gap:12px;margin:4px 0;font-size:15px}.statline span:last-child{text-align:right;color:var(--sub)}.homehero{padding:2px 4px 0}.heroRow{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.heroBlock{min-width:0}.heroBlock.goal{text-align:right}.heroNum{margin:0;display:flex;align-items:baseline;gap:6px;font-family:var(--font-pop);font-weight:400;line-height:1}.heroBlock.goal .heroNum{justify-content:flex-end}.heroNum b{font-weight:400;font-size:54px;color:var(--accent);font-variant-numeric:tabular-nums;background:linear-gradient(transparent 62%,var(--hl) 62%,var(--hl) 94%,transparent 94%);padding:0 4px}.heroNum.sub b{font-size:32px;background:none;padding:0}@media (prefers-color-scheme: dark){.heroNum b{background:linear-gradient(transparent 62%,rgba(247,215,116,.3) 62%,rgba(247,215,116,.3) 94%,transparent 94%)}}.heroUnit{font-size:14px;font-weight:400;color:var(--ink)}.heroFree{margin:0;font-family:var(--font-pop);font-weight:400;font-size:21px;line-height:1.2;color:var(--accent)}.heroMeta{margin:4px 0 0;font-size:12px;font-weight:600;color:var(--ink);opacity:.65}.heroMeta.line{margin-top:10px}.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calhead{font-size:10px;font-weight:700;text-align:center;color:var(--ink);opacity:.65;padding-bottom:2px}.calcell{display:flex;align-items:center;justify-content:center;height:34px;border-radius:8px;background:var(--bg);border:1.5px solid transparent;font-size:11px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.calcell.l1{background:var(--accent-tint)}.calcell.l2{background:var(--accent-tint2)}.calcell.l3{background:var(--accent);color:var(--on-accent)}.calcell.today{border-color:var(--accent)}.calcell.future{opacity:.35}.calnote{margin:8px 0 0;font-size:12px;color:var(--sub)}.questmsg{color:var(--ok);font-size:15px;font-weight:600;margin:8px 0}.xpline{color:var(--sub);font-size:13px;margin:6px 0 0}.earned{color:var(--accent);font-weight:700;font-size:15px;margin:6px 0}button{font-family:inherit}.btn{display:block;width:100%;min-height:50px;padding:13px 16px;border-radius:var(--radius-btn);border:1px solid transparent;background:var(--accent-tint);color:var(--accent);font-size:16px;font-weight:600;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:transform .12s cubic-bezier(.16,1,.3,1),opacity .12s ease,background .12s ease}.btn:active{transform:scale(.97)}.btn[disabled]{opacity:.45;cursor:default;transform:none;box-shadow:none}.btn.primary{background:var(--accent);color:var(--on-accent);box-shadow:0 3px 0 var(--pop-shadow)}.btn.primary:active{transform:translateY(3px);box-shadow:0 0 0 var(--pop-shadow)}.btn.plain{background:none;color:var(--accent);font-weight:500}.btn.danger{background:var(--ng-tint);color:var(--ng)}.btn.small{min-height:44px;font-size:14px}.btn.mini{display:inline-block;width:auto;min-height:36px;padding:6px 14px;font-size:13px}.btn.choice{text-align:left;font-weight:500;background:var(--card);border:1.5px solid var(--line-strong);box-shadow:0 2px 0 var(--pop-shadow)}.btn.choice:active{transform:translateY(2px);box-shadow:0 0 0 var(--pop-shadow)}.btn.choice .c-main{display:block;font-weight:600}.btn.choice .c-sub{display:block;font-size:13px;color:var(--sub);font-weight:400}.btn.choice.selected{background:var(--accent-tint);border-color:var(--accent)}.menu{display:flex;flex-direction:column;gap:8px}.datelabel{display:block;font-size:14px;color:var(--sub)}.datelabel input{display:block;width:100%;margin-top:4px;padding:12px;font-size:16px;font-family:inherit;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}.questcard{border:2px solid var(--accent);box-shadow:4px 6px 0 var(--pop-shadow)}.questrow{display:flex;align-items:center;gap:16px}.questinfo{flex:1}.questinfo h2{margin:0 0 4px}.questinfo p{margin:2px 0;font-size:14px;color:var(--sub)}.questcard .btn{margin-top:14px}.ring{position:relative;width:96px;height:96px;flex:none}.ring svg{width:100%;height:100%;display:block}.ringBg{fill:none;stroke:var(--accent-tint);stroke-width:10}.ringFg{fill:none;stroke:var(--accent);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .7s cubic-bezier(.33,1,.68,1)}.ring.done .ringFg{stroke:var(--ok)}.ringCenter{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15}.ringnum{font-family:var(--font-pop);font-size:23px;font-weight:400}.ringlabel{font-size:11px;color:var(--sub)}.bar{height:8px;background:var(--accent-tint);border-radius:4px;overflow:hidden;margin:6px 0}.bar.slim{height:5px;margin:8px 0 4px}.bar .fill{height:100%;width:100%;transform:scaleX(0);transform-origin:left center;background:var(--accent);border-radius:4px;transition:transform .6s cubic-bezier(.33,1,.68,1)}.lawrow{margin-bottom:10px}.lawrow:last-child{margin-bottom:0}.quizhead{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;color:var(--sub)}.quizhead .qtitle{font-weight:600;color:var(--ink)}.closebtn{border:none;background:none;color:var(--accent);font-size:15px;font-weight:600;padding:8px 0;min-width:56px;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.closebtn:active{opacity:.5}.qcount{min-width:56px;text-align:right}.qcard{min-height:150px}.qmeta{color:var(--sub);font-size:13px;margin:0 0 8px}.qtext{font-size:17px;margin:0;font-weight:600;line-height:1.7}.answers{display:flex;flex-direction:column;gap:10px;margin-top:4px}.btn.answer{background:var(--card);border:1.5px solid var(--line-strong);color:var(--ink);box-shadow:0 2px 0 var(--pop-shadow)}.btn.answer:active{transform:translateY(2px);box-shadow:0 0 0 var(--pop-shadow)}.btn.answer.left{text-align:left;font-weight:500}.btn.answer.reveal-ok{background:var(--ok-tint);border-color:var(--ok);font-weight:700;opacity:1}.btn.answer.reveal-ng{background:var(--ng-tint);border-color:var(--ng);opacity:1}.btn.answer[disabled]:not(.reveal-ok):not(.reveal-ng){opacity:.5}.a-mark{display:inline-block;margin-left:8px;font-size:12px;font-weight:800;vertical-align:middle;color:var(--ink)}.qcard{position:relative}.stamp{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;pointer-events:none}.stampPlate{font-family:var(--font-pop);font-weight:400;font-size:30px;padding:6px 24px 4px;border-radius:14px;box-shadow:0 3px 0 var(--pop-shadow);animation:stampIn .3s cubic-bezier(.16,1,.3,1) both}.stamp.ok .stampPlate{background:var(--ok);color:var(--on-ok)}.stamp.ng .stampPlate{background:var(--ink);color:var(--card)}.stampXp{font-family:var(--font-pop);font-weight:400;font-size:19px;color:var(--accent);background:var(--card);border:1.5px solid var(--line-strong);border-radius:10px;padding:1px 10px;animation:xpFloat .9s ease-out .12s both}.stampCombo{font-family:var(--font-pop);font-weight:400;font-size:14px;background:var(--accent);color:var(--on-accent);padding:3px 14px;border-radius:999px;animation:chipPulse .5s cubic-bezier(.16,1,.3,1) .18s both}.qcard.shake{animation:shake .3s ease-in-out}@keyframes stampIn{0%{transform:scale(1.15) rotate(-3deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes stampInTilt{0%{transform:scale(1.15) rotate(-5deg);opacity:0}to{transform:scale(1) rotate(-2deg);opacity:1}}@keyframes xpFloat{0%{transform:translateY(6px);opacity:0}30%{transform:translateY(-2px);opacity:1}to{transform:translateY(-16px);opacity:0}}@keyframes chipPulse{0%{transform:scale(.7);opacity:0}55%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}15%,45%,75%{transform:translate(-5px)}30%,60%,90%{transform:translate(5px)}}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:8px}.sheet{position:fixed;left:50%;bottom:0;width:100%;max-width:560px;transform:translate(-50%,105%);transition:transform .3s cubic-bezier(.32,.72,.33,1);z-index:20}.sheet.open{transform:translate(-50%)}.sheetInner{background:var(--card);border-radius:20px 20px 0 0;padding:18px 20px calc(env(safe-area-inset-bottom) + 14px);box-shadow:var(--sheet-shadow);max-height:74vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.fbtop{display:flex;justify-content:space-between;align-items:baseline}.fbhead{margin:0;font-family:var(--font-pop);font-weight:400;font-size:19px}.fbhead.ok{color:var(--ok)}.fbhead.ng{color:var(--ng)}.fbxp{margin:0;font-family:var(--font-pop);font-size:17px;color:var(--accent)}.fbans{margin:8px 0 0;font-size:15px;font-weight:600}.fbexp{margin:6px 0 0;font-size:14px;color:var(--sub);line-height:1.65}.sheetInner .btn{margin-top:14px}.bignum{font-family:var(--font-pop);font-size:40px;font-weight:400;margin:0;line-height:1.2;color:var(--accent)}.bignum .unit{font-size:16px;font-weight:600;color:var(--sub);margin-left:4px}.resultstat{text-align:center;padding:20px 16px}.resultstat .sub{margin-top:2px}.celebcard{text-align:center;border:2px solid var(--accent);box-shadow:4px 6px 0 var(--pop-shadow)}.celebplate{display:inline-block;margin:2px 0 0;font-family:var(--font-pop);font-weight:400;font-size:24px;background:var(--accent);color:var(--on-accent);padding:6px 20px 4px;border-radius:12px;box-shadow:0 3px 0 var(--pop-shadow);animation:stampInTilt .3s cubic-bezier(.16,1,.3,1) both}.celebsub{margin:10px 0 0;font-size:14px;font-weight:600;color:var(--ink)}.celebnext{margin:6px 0 0;font-size:13px;font-weight:600;color:var(--ink);opacity:.65}.sub.tomorrow{margin-top:8px}.celebration{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#10111480;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));overflow:hidden;animation:overlayFade .2s ease-out both}.celebCard{background:var(--card);border:2px solid var(--accent);border-radius:20px;padding:26px 22px 12px;width:100%;max-width:320px;text-align:center;box-shadow:6px 8px 0 var(--pop-shadow);animation:stampIn .36s cubic-bezier(.16,1,.3,1) both}.celebBig{margin:0;font-family:var(--font-pop);font-weight:400;font-size:37px;line-height:1.25;color:var(--ink)}.celebBig span{position:relative;z-index:0;display:inline-block;padding:0 8px}.celebBig span:before{content:"";position:absolute;left:0;right:0;top:56%;bottom:2%;z-index:-1;background:var(--hl);transform:scaleX(0);transform-origin:left center;animation:bandSweep .45s cubic-bezier(.16,1,.3,1) .25s both}.celebText{margin:10px 0 0;font-size:14px;color:var(--sub)}.celebration .celebClose{margin-top:6px}.celebration .cf{position:absolute;top:-30px;width:10px;height:16px;border-radius:2px;pointer-events:none;animation:cfFall 1.5s ease-in both}.cf.c0{background:var(--hl)}.cf.c1{background:var(--accent)}.cf.c2{background:var(--ok)}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}@keyframes bandSweep{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes cfFall{0%{transform:translateY(0) rotate(0);opacity:0}12%{opacity:1}to{transform:translateY(82vh) rotate(420deg);opacity:0}}.cloudModal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#10111480;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));overflow-y:auto;animation:overlayFade .2s ease-out both}.modalCard{background:var(--card);border:1.5px solid var(--line-strong);border-radius:20px;box-shadow:6px 8px 0 var(--pop-shadow);padding:20px;width:100%;max-width:340px;margin:auto}.modalCard h2{margin:0 0 10px;font-size:18px}.modalCard .sub{margin-top:8px}.modalCard .btn{margin-top:10px}.topicwrap{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.topicwrap .btn{width:auto;display:inline-block;min-height:40px;padding:8px 14px;font-size:14px}.badge{background:var(--card);border:1.5px solid var(--line-strong);border-radius:var(--radius);padding:12px 16px;opacity:.5;box-shadow:var(--shadow)}.badge.has{opacity:1;border-color:var(--accent)}.bname{margin:0;font-weight:700}.bdesc{margin:2px 0 0;font-size:13px;color:var(--sub)}.backhead{display:flex;align-items:center;gap:4px}.panel{background:#fdfcf8;border:1px solid #d8d4c8;border-radius:var(--radius);padding:16px;display:flex;gap:14px;align-items:flex-start;min-height:190px;color:#1c1c1e}.panel.right{flex-direction:row-reverse}.panel img{width:132px;height:132px;object-fit:contain;flex:none;border-radius:12px}.pside{flex:1;min-width:0}.pname{margin:0 0 4px;font-size:12px;font-weight:700;color:#6e6e73}.pbubble{position:relative;background:#fff;border:1.5px solid #1c1c1e;border-radius:14px;padding:10px 12px}.pbubble:before{content:"";position:absolute;top:18px;left:-8px;width:12px;height:12px;background:#fff;border-left:1.5px solid #1c1c1e;border-bottom:1.5px solid #1c1c1e;transform:rotate(45deg)}.panel.right .pbubble:before{left:auto;right:-8px;border-left:none;border-bottom:none;border-right:1.5px solid #1c1c1e;border-top:1.5px solid #1c1c1e}.pbubble p{margin:0;font-size:15px;line-height:1.7}.panel.narration{justify-content:center;align-items:center;min-height:120px;background:#f3f1ea}.panel.narration p{margin:0;color:#4a4a4f;font-size:14px;text-align:center}.mangagroup h3{margin:8px 0 6px}.legalfoot{padding:4px 2px 10px;font-size:12px;color:var(--sub, #8a8a93)}.legalfoot a{color:inherit;margin-right:14px}.content{overscroll-behavior:contain}.app-about{max-width:560px;margin:0 auto;padding:8px 16px 28px;font-size:13px;color:var(--sub, #6e6e73)}.app-about h2{font-size:14px}.app-about a{color:inherit}
