@font-face{font-family:Muyu Kai;src:url(../fonts/MuyuKai-Regular.woff2)format("woff2");font-display:block}@font-face{font-family:Muyu Kai Medium;src:url(../fonts/MuyuKai-Medium.woff2)format("woff2");font-display:block}@font-face{font-family:Noto Serif SC;src:url(../fonts/NotoSerifSC-Regular.woff2)format("woff2");font-display:swap}@font-face{font-family:Noto Serif SC SemiBold;src:url(../fonts/NotoSerifSC-SemiBold.woff2)format("woff2");font-display:swap}@font-face{font-family:Ma Shan Zheng;src:url(../fonts/MaShanZheng-Regular.woff2)format("woff2");font-display:block}@font-face{font-family:Zhi Mang Xing;src:url(../fonts/ZhiMangXing-Regular.woff2)format("woff2");font-display:block}@font-face{font-family:Liu Jian Mao Cao;src:url(../fonts/LiuJianMaoCao-Regular.woff2)format("woff2");font-display:block}:root{--paper:243 236 221;--ink:28 25 22;--vermilion:192 57 43;--font-kai:"Muyu Kai", "Kaiti SC", "STKaiti", serif;--font-kai-bold:"Muyu Kai Medium", "Muyu Kai", "Kaiti SC", "STKaiti", serif;--font-song:"Noto Serif SC", "Songti SC", serif;--font-brush:"Ma Shan Zheng", "Muyu Kai", serif;--font-running:"Zhi Mang Xing", "Muyu Kai", serif;--font-cursive:"Liu Jian Mao Cao", "Zhi Mang Xing", serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:rgb(var(--paper));height:100%;color:rgb(var(--ink));font-family:var(--font-kai);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none;touch-action:manipulation;margin:0;overflow:hidden}#app{position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}button:disabled{cursor:default}.ink-text{text-shadow:1px 0 rgb(var(--paper)), -1px 0 rgb(var(--paper)), 0 1px rgb(var(--paper)), 0 -1px rgb(var(--paper))}.seal-button{font-family:var(--font-kai-bold);color:rgb(var(--white));background:rgb(var(--vermilion) / .92);white-space:nowrap;border-radius:6px 8px 5px 7px/7px 5px 8px 6px;padding:7px 12px;font-size:15px;line-height:1.2;transition:transform .15s cubic-bezier(.3,.7,.4,1)}.seal-button.seal-ink{background:rgb(var(--ink) / .92)}.seal-button.seal-gold{background:rgb(var(--gold-deep) / .92)}.seal-button.seal-large{border-radius:9px 12px 8px 11px/11px 8px 12px 9px;padding:12px 22px;font-size:19px}.seal-button:active:not(:disabled){transform:scale(.94)}.seal-button:disabled{color:rgb(var(--ink-light));outline:1px dashed rgb(var(--ink-light) / .7);outline-offset:-1px;background:0 0}.seal-button:focus-visible{outline:2px solid rgb(var(--ink));outline-offset:2px}.paper-card{isolation:isolate;border-radius:var(--card-radius,10px);background:rgb(var(--paper)) var(--paper-texture) center / cover;border:1px solid rgb(var(--ink-light) / .55);position:relative}.paper-card:after{content:"";border-radius:calc(var(--card-radius,10px) - 3.5px);border:.8px solid rgb(var(--ochre) / .22);pointer-events:none;z-index:-1;position:absolute;inset:3.5px}.fade-edges{-webkit-mask-image:linear-gradient(#0000 0,#000 3.5% 93%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 3.5% 93%,#0000 100%)}@property --reveal-radius{syntax:"<length>";inherits:false;initial-value:800px}@property --brush-sweep{syntax:"<angle>";inherits:false;initial-value:342deg}.banner{isolation:isolate;pointer-events:none;align-items:center;gap:10px;min-width:0;max-width:100%;padding:14px 30px;animation-name:banner-in;animation-fill-mode:both;display:flex;position:relative}.banner.leaving{animation:.2s ease-in forwards banner-out}@keyframes banner-in{0%{opacity:0;transform:scale(.5)}}@keyframes banner-out{to{opacity:0;transform:scale(.5)}}.banner-text{text-align:center;flex-direction:column;align-items:center;min-width:0;display:flex}.banner-title{font-family:var(--font-running);white-space:nowrap;color:rgb(var(--ink));text-shadow:1.5px 0 rgb(var(--paper)), -1.5px 0 rgb(var(--paper)), 0 1.5px rgb(var(--paper)), 0 -1.5px rgb(var(--paper));line-height:1}.banner-demon .banner-title{font-family:var(--font-cursive)}.banner-zen .banner-title{color:rgb(var(--gold-deep))}.banner-subtitle{font-family:var(--font-kai);color:rgb(var(--ink-heavy));font-size:17px;line-height:1.184}.toast{--card-radius:6px;pointer-events:none;align-items:center;gap:8px;padding:6px 16px 6px 10px;animation-name:toast-in;animation-fill-mode:both;display:flex}.toast.leaving{animation:.25s ease-in forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translateY(calc(100% + 10px))}}@keyframes toast-out{to{opacity:0;transform:translateY(calc(100% + 10px))}}.toast-text{font-family:var(--font-kai-bold);color:rgb(var(--ink));white-space:nowrap;font-size:16px;line-height:1.184;position:relative}.celebration-overlay{z-index:20;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay-stack{flex-direction:column;align-items:center;display:flex}.overlay-halo{place-items:center;display:grid;position:relative}.overlay-title{font-family:var(--font-running);color:rgb(var(--ink));white-space:nowrap;line-height:1;position:relative}.brush-reveal{-webkit-mask-image:conic-gradient(from 286deg, #000 var(--brush-sweep), transparent 0);-webkit-mask-image:conic-gradient(from 286deg, #000 var(--brush-sweep), transparent 0);mask-image:conic-gradient(from 286deg, #000 var(--brush-sweep), transparent 0);position:absolute;inset:0}@keyframes brush-reveal{0%{--brush-sweep:0deg}to{--brush-sweep:342deg}}@keyframes overlay-in{0%{opacity:0}}@keyframes overlay-out{to{opacity:0}}@keyframes reveal-fade{0%{opacity:0}}.rebirth-overlay{background:radial-gradient(circle at center, rgb(var(--paper)) 0, rgb(var(--paper) / .96) calc(var(--reveal-radius) / 2), rgb(var(--paper) / .85) var(--reveal-radius));animation:.3s ease-out both overlay-in,1.2s ease-out both rebirth-reveal}.rebirth-overlay.leaving{animation:.6s ease-in forwards overlay-out}@keyframes rebirth-reveal{0%{--reveal-radius:60px}to{--reveal-radius:800px}}.rebirth-brush{animation:1.1s ease-in-out .2s both brush-reveal}.rebirth-life{font-size:40px;animation:1.2s ease-out both reveal-fade}.rebirth-wisdom{font-family:var(--font-kai-bold);color:rgb(var(--ink-heavy));align-items:center;gap:8px;font-size:24px;line-height:1.184;animation:1.2s ease-out both reveal-fade;display:flex}.attainment-overlay{--reveal-radius:900px;background:radial-gradient(circle at center, rgb(var(--paper)) 0, rgb(var(--gold-light) / .9) calc(var(--reveal-radius) / 2), rgb(var(--paper) / .92) var(--reveal-radius));animation:.4s ease-out both overlay-in,1.4s ease-out both attainment-reveal}.attainment-overlay.leaving{animation:.8s ease-in forwards overlay-out}@keyframes attainment-reveal{0%{--reveal-radius:80px}to{--reveal-radius:900px}}.attainment-brush{animation:1.3s ease-in-out .2s both brush-reveal}.attainment-title{animation:1.4s ease-out both reveal-fade}.attainment-epithet{font-family:var(--font-kai);color:rgb(var(--ink-heavy));font-size:18px;line-height:1.184;animation:1.4s ease-out both reveal-fade}.attainment-seal{animation:1.4s ease-out both seal-press;transform:rotate(-6deg)}@keyframes seal-press{0%{opacity:0;transform:rotate(-6deg)scale(1.8)}}@media (prefers-reduced-motion:reduce){@keyframes banner-in{0%{opacity:0}}@keyframes banner-out{to{opacity:0}}}.sheet-root{z-index:30;position:fixed;inset:0}.sheet-root.closing{pointer-events:none}.sheet-backdrop{background:rgb(var(--ink) / .3);position:absolute;inset:0}.sheet{background:rgb(var(--paper)) var(--paper-texture) center / 100% 100%;border:1px solid rgb(var(--ink-light) / .35);border-bottom:none;outline:none;flex-direction:column;max-width:480px;margin:0 auto;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.sheet-large{top:calc(env(safe-area-inset-top,0px) + 12px);border-radius:28px 28px 0 0}.sheet-medium{left:8px;right:8px;bottom:calc(env(safe-area-inset-bottom,0px) + 8px);max-width:464px;min-height:min(50dvh,100dvh - 32px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - 24px);border-bottom:1px solid rgb(var(--ink-light) / .35);border-radius:32px}.sheet-grabber{z-index:2;background:rgb(var(--ink) / .22);border-radius:3px;width:36px;height:5px;position:absolute;top:5px;left:50%;transform:translate(-50%)}[data-sheet-handle]{touch-action:none}.sheet-header{flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;min-height:60px;padding:16px 14px 8px;display:grid}.sheet-title{font-family:var(--font-kai-bold);color:rgb(var(--ink));text-align:center;white-space:nowrap;margin:0;font-size:17px;font-weight:400;line-height:1.184}.sheet-header-side{align-items:center;display:flex}.sheet-header-trailing{justify-content:flex-end}.sheet-bar-button{min-width:36px;height:36px;font-family:var(--font-kai-bold);color:rgb(var(--vermilion));background:rgb(var(--white) / .75);border:1px solid rgb(var(--ink-light) / .3);border-radius:18px;padding:0 14px;font-size:17px}.sheet-bar-button:active{background:rgb(var(--ink) / .08)}.sheet-bar-button:focus-visible,.form-row:focus-visible,.skin-card:focus-visible,.segmented button:focus-visible,.confirm-button:focus-visible{outline:2px solid rgb(var(--ink));outline-offset:-2px}.sheet-back{color:rgb(var(--ink));place-items:center;padding:0;display:grid}.nav-stack{flex:1;min-height:0;position:relative}.nav-page{flex-direction:column;display:flex;position:absolute;inset:0}.nav-push{animation:.4s cubic-bezier(.32,.72,0,1) nav-push}.nav-pop{animation:.4s cubic-bezier(.32,.72,0,1) nav-pop}@keyframes nav-push{0%{transform:translate(100%)}}@keyframes nav-pop{0%{opacity:0;transform:translate(-30%)}}@media (prefers-reduced-motion:reduce){@keyframes nav-push{0%{opacity:0}}@keyframes nav-pop{0%{opacity:0}}}.sheet-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 12px calc(100% - 16px),#0000);mask-image:linear-gradient(#0000 0,#000 12px calc(100% - 16px),#0000)}.form{padding:4px 16px calc(env(safe-area-inset-bottom,0px) + 36px);font-family:var(--font-kai);color:rgb(var(--ink))}.form-section+.form-section{margin-top:26px}.form-section-header{font-family:var(--font-kai);color:rgb(var(--ink-heavy));margin:0;padding:0 16px 7px;font-size:14px;font-weight:400;line-height:1.184}.form-section-footer{color:rgb(var(--ink-heavy));margin:0;padding:7px 16px 0;font-size:13px;line-height:1.35}.form-section-footer a{color:rgb(var(--ink))}.form-card{background:rgb(var(--white) / .72);border-radius:16px;overflow:hidden}.form-row{width:100%;min-height:50px;font-family:var(--font-kai);color:rgb(var(--ink));text-align:left;align-items:center;gap:12px;padding:11px 16px;font-size:17px;line-height:1.184;display:flex;position:relative}.form-row+.form-row:before{content:"";background:rgb(var(--ink-light) / .45);transform-origin:top;height:1px;position:absolute;top:0;left:16px;right:0;transform:scaleY(.5)}a.form-row{text-decoration:none}button.form-row:active:not(:disabled),a.form-row:active,label.form-row:active{background:rgb(var(--ink) / .06)}.form-label{flex:1;min-width:0}.form-value{max-width:60%;color:rgb(var(--ink-heavy));text-align:right;font-variant-numeric:tabular-nums;flex:none}.form-button{color:rgb(var(--vermilion))}.form-button:disabled{color:rgb(var(--ink-light))}.form-chevron{color:rgb(var(--ink-light));flex:none}.switch{appearance:none;background:rgb(var(--ink) / .16);cursor:pointer;border-radius:16px;flex:none;width:51px;height:31px;margin:0;transition:background-color .25s;position:relative}.switch:before{content:"";background:rgb(var(--white));width:27px;height:27px;box-shadow:0 1px 3px rgb(var(--ink) / .25);border-radius:50%;transition:transform .25s cubic-bezier(.3,.9,.4,1);position:absolute;top:2px;left:2px}.switch:checked{background:rgb(var(--vermilion))}.switch:checked:before{transform:translate(20px)}.switch:focus-visible{outline:2px solid rgb(var(--ink));outline-offset:2px}.segmented{background:rgb(var(--ink) / .08);border-radius:9px;flex:none;padding:2px;display:inline-flex}.segmented button{min-width:64px;font-family:var(--font-kai);color:rgb(var(--ink));border-radius:7px;padding:6px 12px;font-size:15px;line-height:1.184}.segmented button[aria-pressed=true]{font-family:var(--font-kai-bold);background:rgb(var(--white));box-shadow:0 1px 2px rgb(var(--ink) / .15)}.skins-link{padding-top:8px;padding-bottom:8px}.skins-link-text{flex-direction:column;flex:1;gap:2px;display:flex}.skins-link-title{font-family:var(--font-kai-bold);font-size:18px}.skins-link-count{color:rgb(var(--ink-heavy));font-size:13px}.backup-status{color:rgb(var(--ink-heavy));font-size:13px;line-height:1.35}.skins{padding:18px 18px calc(env(safe-area-inset-bottom,0px) + 18px);flex-direction:column;gap:6px;display:flex}.skins-count{font-family:var(--font-kai);color:rgb(var(--ink-heavy));font-size:15px;line-height:1.184}.skins-grid{grid-template-columns:1fr 1fr;gap:18px 14px;display:grid}.skin-card{min-width:0;box-shadow:inset 0 0 0 1px rgb(var(--ink-clear));border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:10px;display:flex}.skin-card.selected{box-shadow:inset 0 0 0 1.5px rgb(var(--vermilion) / .7)}.skin-art{aspect-ratio:1.25;width:100%;position:relative}.skin-art>:first-child{width:100%!important;height:100%!important}.skin-seal{position:absolute;top:0;right:0;transform:rotate(8deg)}.skin-title{font-family:var(--font-kai-bold);color:rgb(var(--ink));font-size:17px;line-height:1.184}.skin-card:disabled .skin-title{color:rgb(var(--ink-light))}.skin-status{font-family:var(--font-kai);color:rgb(var(--ink-light));font-size:12px;line-height:1.184}.skin-card.selected .skin-status{color:rgb(var(--vermilion))}.skin-requirement{font-family:var(--font-song);color:rgb(var(--ink-heavy));text-align:center;font-size:11px;line-height:1.437}.skin-progress{width:90px;height:4px;position:relative}.skin-progress>*{position:absolute;top:0;left:0}.import-page{padding:8px 18px calc(env(safe-area-inset-bottom,0px) + 24px);flex-direction:column;gap:12px;display:flex}.import-intro{font-family:var(--font-song);color:rgb(var(--ink-heavy));margin:0;font-size:14px;line-height:1.437}.import-text{resize:vertical;border:1px solid rgb(var(--ink-light) / .6);background:rgb(var(--white) / .72);width:100%;min-height:180px;color:rgb(var(--ink));-webkit-user-select:text;user-select:text;border-radius:12px;padding:10px 12px;font:12px/1.4 ui-monospace,SF Mono,Menlo,monospace}.import-text:focus{outline:2px solid rgb(var(--ink) / .6);outline-offset:0}.import-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.import-error{font-family:var(--font-kai);color:rgb(var(--vermilion));margin:0;font-size:14px;line-height:1.35}.confirm-root{z-index:5;flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.confirm-backdrop{background:rgb(var(--ink) / .25);animation:.25s ease-out confirm-fade;position:absolute;inset:0}.confirm{padding:8px 8px calc(env(safe-area-inset-bottom,0px) + 8px);flex-direction:column;gap:8px;animation:.35s cubic-bezier(.32,.72,0,1) confirm-rise;display:flex;position:relative}.confirm-group,.confirm-cancel{background:rgb(var(--white));border-radius:14px;overflow:hidden}.confirm-heading{text-align:center;padding:14px 16px 12px}.confirm-title{font-family:var(--font-kai-bold);color:rgb(var(--ink-heavy));margin:0;font-size:13px;line-height:1.35}.confirm-message{font-family:var(--font-kai);color:rgb(var(--ink-heavy));margin:4px 0 0;font-size:13px;line-height:1.35}.confirm-button{width:100%;min-height:56px;font-family:var(--font-kai);color:rgb(var(--ink));font-size:19px;position:relative}.confirm-destructive{color:rgb(var(--vermilion));border-top:1px solid rgb(var(--ink-light) / .3)}.confirm-cancel{font-family:var(--font-kai-bold)}.confirm-button:active{background:rgb(var(--ink) / .06)}@keyframes confirm-fade{0%{opacity:0}}@keyframes confirm-rise{0%{transform:translateY(100%)}}.welcome{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:28px;display:flex}.welcome-enso{place-items:center;width:84px;height:84px;display:grid;position:relative}.welcome-enso>:first-child{position:absolute;inset:0}.welcome-glyph{font-family:var(--font-running);color:rgb(var(--ink));font-size:36px;line-height:1;position:relative}.welcome-title{font-family:var(--font-brush);color:rgb(var(--ink));margin:0;font-size:30px;font-weight:400;line-height:1}.welcome-text{font-family:var(--font-song);color:rgb(var(--ink-heavy));margin:0;font-size:15px;line-height:1.437}.welcome-amount{font-family:var(--font-kai-bold);font-variant-numeric:tabular-nums;color:rgb(var(--gold-deep));font-size:44px;line-height:1.184}.welcome-cap{font-family:var(--font-song);color:rgb(var(--ink-light));margin:0;font-size:12px;line-height:1.437}.welcome-collect{width:100%;margin-top:6px}.shop-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.shop-panel-content{z-index:1;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.shop-sections{flex:none;align-items:center;padding:12px 18px 6px;display:flex;position:relative}.shop-tab{flex-direction:column;flex:1 1 0;align-items:center;gap:2px;min-width:0;padding:4px 0;display:flex}.shop-tab-label{align-items:center;gap:3px;max-width:100%;display:flex}.shop-tab-title.shop-fit{width:auto;min-width:0;font-family:var(--font-kai);color:rgb(var(--ink-light));flex:0 auto;transition:color .25s cubic-bezier(.2,.9,.3,1)}.shop-tab.is-selected .shop-tab-title.shop-fit{font-family:var(--font-brush);color:rgb(var(--ink))}.shop-badge{background:rgb(var(--vermilion));border-radius:50%;flex:none;width:6px;height:6px;transform:translateY(-6px)}.shop-tab-rule{height:5px}.shop-tab-underline{pointer-events:none;justify-content:center;width:calc(25% - 9px);height:5px;transition:transform .25s cubic-bezier(.2,.9,.3,1);display:flex;position:absolute;bottom:10px;left:18px}.shop-tab:focus-visible,.shop-buy-mode:focus-visible{outline:2px solid rgb(var(--ink) / .6);outline-offset:2px;border-radius:4px}.shop-section{flex-direction:column;flex:1;min-height:0;animation:.25s ease-out both shop-fade-in;display:flex}.shop-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;min-height:0;overflow:hidden auto}.shop-scroll::-webkit-scrollbar{display:none}.shop-list{padding:0 16px 20px}.shop-buy-modes{justify-content:flex-end;align-items:center;gap:14px;padding-right:6px;display:flex}.shop-buy-mode{font-family:var(--font-kai);color:rgb(var(--ink-light));font-variant-numeric:tabular-nums;padding:4px 0;font-size:14px;position:relative}.shop-buy-mode.is-selected{font-family:var(--font-kai-bold);color:rgb(var(--vermilion));font-size:15px}.shop-buy-mode-line{height:3px;position:absolute;bottom:-2px;left:0;right:0}.shop-row{align-items:center;gap:12px;padding:9px 4px;display:flex;position:relative}.shop-row-rule{height:3px;position:absolute;bottom:0;left:6px;right:6px}.shop-portrait{object-fit:contain;flex:none}.shop-portrait.is-inactive{filter:saturate(.2);opacity:.55}.shop-row-text{flex-direction:column;flex:auto;align-items:flex-start;gap:3px;min-width:0;margin-right:18px;display:flex}.shop-row-heading{max-width:100%}.shop-row-title{font-family:var(--font-kai-bold);color:rgb(var(--ink));font-size:18px}.shop-owned{white-space:nowrap;font-family:var(--font-kai-bold);color:rgb(var(--ochre));font-variant-numeric:tabular-nums;margin-left:6px;font-size:15px}.shop-row-detail{max-width:100%;font-family:var(--font-song);color:rgb(var(--ink-heavy));font-variant-numeric:tabular-nums;font-size:12px}.shop-one-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.shop-row-title.is-mystery,.shop-row-detail.is-mystery{color:rgb(var(--ink-light))}.shop-milestone{align-items:center;gap:6px;display:flex}.shop-milestone-track{flex:none;width:60px;height:4px;position:relative}.shop-milestone-label{font-family:var(--font-kai);color:rgb(var(--ink-light));white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.shop-price{flex:none;display:inline-flex}.shop-price-label{font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;min-width:56px;display:flex}.shop-price-quantity{font-family:var(--font-kai);font-size:11px}.shop-empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding-top:36px;display:flex}.shop-empty-title{font-family:var(--font-brush);color:rgb(var(--ink-heavy));font-size:24px}.shop-empty-message{font-family:var(--font-song);color:rgb(var(--ink-light));font-size:14px}.shop-footnote{font-family:var(--font-kai);color:rgb(var(--ink-light));text-align:center;padding-top:10px;font-size:13px}.shop-seal{z-index:-1;pointer-events:none;position:absolute;inset:0}.shop-seal>svg{display:block;position:absolute;top:0;left:0;overflow:visible}.shop-fit{white-space:nowrap;text-overflow:ellipsis;text-align:center;width:100%;display:block;overflow:hidden}.shop-talents{flex-direction:column;gap:10px;padding:0 16px 20px;display:flex}.shop-talents-header{justify-content:space-between;align-items:baseline;gap:8px;padding:0 4px;display:flex}.shop-heading{font-family:var(--font-brush);color:rgb(var(--ink));font-size:24px}.shop-wisdom{font-family:var(--font-kai-bold);color:rgb(var(--indigo));font-variant-numeric:tabular-nums;text-align:right;font-size:16px}.shop-branches{align-items:flex-start;gap:10px;display:flex}.shop-branch{flex-direction:column;flex:1 1 0;min-width:0;display:flex}.shop-branch-title{font-family:var(--font-kai);color:rgb(var(--ink-heavy));text-align:center;padding-bottom:6px;font-size:14px}.shop-branch-link{justify-content:center;align-items:center;height:16px;display:flex}.shop-branch-link>svg{flex:none;transform:rotate(90deg)}.shop-talent{isolation:isolate;width:100%;min-height:46px;color:rgb(var(--ink-light));flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:relative}.shop-talent.is-unlocked{color:rgb(var(--vermilion))}.shop-talent.is-learned{color:rgb(var(--white))}.shop-talent:focus-visible{outline:2px solid rgb(var(--ink) / .6);outline-offset:6px;border-radius:8px}.shop-talent-title{font-family:var(--font-kai-bold)}.shop-talent-cost{font-family:var(--font-kai);font-variant-numeric:tabular-nums;font-size:11px}.shop-selection-ring{animation:.25s cubic-bezier(.2,.9,.3,1) both shop-fade-in}.shop-talents-hint{font-family:var(--font-song);color:rgb(var(--ink-light));text-align:center;margin:0;font-size:12px;animation:.25s ease-out both shop-fade-in}.shop-talent-detail{background:rgb(var(--ink-clear) / .35);border-radius:8px;padding:12px;animation:.25s cubic-bezier(.2,.9,.3,1) both shop-rise}.shop-talent-detail-content{align-items:center;gap:12px;display:flex}.shop-talent-summary{font-family:var(--font-song);color:rgb(var(--ink-heavy));font-size:13px}.shop-talent-requirement{font-family:var(--font-kai);color:rgb(var(--ink-light));font-size:12px}.shop-talent-learned{font-family:var(--font-kai-bold);color:rgb(var(--vermilion));flex:none;font-size:15px}.shop-rebirth{flex-direction:column;align-items:center;gap:14px;padding:0 20px 20px;display:flex}.shop-rebirth-summary{align-items:center;gap:18px;padding-top:4px;display:flex}.shop-rebirth-wisdom{flex-direction:column;flex:none;align-items:center;display:flex}.shop-rebirth-wisdom-label{font-family:var(--font-kai);color:rgb(var(--ink-heavy));font-size:14px}.shop-rebirth-wisdom-value{font-family:var(--font-kai-bold);color:rgb(var(--indigo));font-variant-numeric:tabular-nums;font-size:44px}.shop-rebirth-explanation{font-family:var(--font-song);color:rgb(var(--ink-heavy));white-space:pre-line;margin:0;font-size:13px}.shop-rebirth-footnote{font-family:var(--font-song);color:rgb(var(--ink-light));text-align:center;margin:0;font-size:12px}.shop-ledger{flex-direction:column;align-self:stretch;gap:8px;padding:0 8px;display:flex}.shop-ledger-line{align-items:baseline;gap:6px;display:flex}.shop-ledger-title{font-family:var(--font-kai);color:rgb(var(--ink-heavy));font-size:15px}.shop-ledger-dots{background:linear-gradient(to right, rgb(var(--ink-clear)) 1px, transparent 1px) 0 0 / 5px 1px repeat-x;flex:1;min-width:0;height:1px}.shop-ledger-value{font-family:var(--font-kai-bold);color:rgb(var(--ink));font-variant-numeric:tabular-nums;text-align:right;font-size:16px}.shop-ledger-value.is-highlighted{color:rgb(var(--vermilion))}.shop-wide-button{align-self:stretch}.shop-attainment{flex-direction:column;align-self:stretch;gap:10px;margin-top:10px;display:flex}.shop-attainment-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.shop-attainment-title{font-family:var(--font-brush);color:rgb(var(--ink));font-size:22px}.shop-attainment-rank{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.shop-rank-title{font-family:var(--font-kai-bold);color:rgb(var(--ink-heavy));font-size:18px}.shop-rank-title.is-ranked{color:rgb(var(--gold-deep))}.shop-rank-epithet{font-family:var(--font-kai);color:rgb(var(--ink-light));font-size:12px}.shop-rank-ladder{gap:4px;display:flex}.shop-rank{isolation:isolate;min-width:0;min-height:26px;font-family:var(--font-kai-bold);color:rgb(var(--ink-light));flex:1 1 0;align-items:center;display:flex;position:relative}.shop-rank.is-attained{color:rgb(var(--white))}.shop-attainment-done{font-family:var(--font-song);color:rgb(var(--gold-deep));text-align:center;margin:0;font-size:13px}.shop-confirm{z-index:2;background:rgb(var(--paper) / .65);justify-content:center;align-items:flex-end;padding:10px;animation:.2s ease-out both shop-fade-in;display:flex;position:absolute;inset:0}.shop-confirm-card{text-align:center;background:rgb(var(--paper)) var(--paper-texture) center / cover;border:1px solid rgb(var(--ink-light) / .55);border-radius:10px;flex-direction:column;align-items:center;gap:6px;width:100%;max-width:340px;padding:16px 16px 14px;animation:.25s cubic-bezier(.2,.9,.3,1) both shop-rise;display:flex}.shop-confirm-title{font-family:var(--font-kai-bold);color:rgb(var(--ink));font-size:16px}.shop-confirm-message{font-family:var(--font-song);color:rgb(var(--ink-heavy));font-size:13px}.shop-confirm-actions{flex-direction:column;align-self:stretch;gap:8px;margin-top:8px;display:flex}.shop-confirm-actions>.seal-button{white-space:normal}.shop-confirm-cancel{font-family:var(--font-kai);color:rgb(var(--ink-heavy));border:1px solid rgb(var(--ink-light) / .7);border-radius:6px 8px 5px 7px/7px 5px 8px 6px;padding:7px 12px;font-size:15px;line-height:1.2}.shop-confirm-cancel:focus-visible{outline:2px solid rgb(var(--ink));outline-offset:2px}@keyframes shop-fade-in{0%{opacity:0}}@keyframes shop-rise{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.shop-talent-detail,.shop-confirm-card{animation-name:shop-fade-in}.shop-tab-underline{transition:none}}.ink-backdrop{pointer-events:none;position:absolute;inset:0;overflow:hidden}.ink-backdrop-art{max-width:none;display:block;position:absolute}.ink-backdrop-art.is-mirrored{transform:scaleX(-1)}.ink-backdrop-mist{will-change:transform;position:absolute;top:0;left:0}.ink-backdrop-wash{position:absolute;inset:0}.ink-backdrop-wash.is-gold{mix-blend-mode:multiply}.merit-hud{padding:0 20px;position:relative}.merit-hud-box{flex-direction:column;align-items:center;padding-top:4px;display:flex;position:relative}.merit-counter-row{align-items:center;gap:8px;display:flex}.merit-counter-value{font-family:var(--font-kai-bold);color:rgb(var(--ink));font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:1.5px 0 rgb(var(--paper)), -1.5px 0 rgb(var(--paper)), 0 1.5px rgb(var(--paper)), 0 -1.5px rgb(var(--paper));line-height:normal}.merit-rates{font-family:var(--font-kai);color:rgb(var(--ink-heavy));font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;line-height:normal}.merit-counter-value.is-zen,.merit-rates.is-zen{color:rgb(var(--gold-deep))}.wisdom-chip{flex-direction:column;align-items:flex-start;padding:6px 0 0 4px;line-height:normal;display:flex;position:absolute;top:0;left:0}.wisdom-chip-rank{font-family:var(--font-brush);color:rgb(var(--gold-deep));font-size:17px}.wisdom-chip-label{font-family:var(--font-kai);color:rgb(var(--ink-heavy));font-size:12px}.wisdom-chip-amount{font-family:var(--font-kai-bold);color:rgb(var(--indigo));font-variant-numeric:tabular-nums;font-size:20px}.hud-settings{flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;display:flex;position:absolute;top:0;right:0}.hud-settings:focus-visible{outline:2px solid rgb(var(--ink) / .5);outline-offset:-2px;border-radius:8px}.muyu-stage{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;min-height:0;position:relative}.stage-layer{pointer-events:none;display:block;position:absolute}.stage-scenery{height:100%;top:0}.stage-mallet{transform-origin:50% 0}.beat-ring,.aureole{will-change:transform, opacity}.touch-surface{cursor:pointer;outline:none;position:absolute;inset:0}.touch-surface:focus-visible{outline:2px solid rgb(var(--ink) / .35);outline-offset:-6px;border-radius:14px}.stage-foe{pointer-events:none;justify-content:center;align-items:flex-start;width:100%;padding-top:10px;transition:opacity .25s ease-in-out;display:flex;position:absolute;top:0;left:0}.stage-skills{pointer-events:none;justify-content:center;align-items:center;width:100%;height:44px;display:flex;position:absolute;left:0}.stage-koi{pointer-events:none;position:absolute;inset:0}.streak-badge{pointer-events:none;position:absolute;top:6px;left:16px}.streak-badge>*{position:absolute;top:0;left:0}.zen-countdown{white-space:nowrap;align-items:center;gap:6px;display:flex}.zen-countdown-text{font-family:var(--font-kai-bold);color:rgb(var(--gold-deep));font-variant-numeric:tabular-nums;font-size:19px;line-height:normal}.streak-count{transform-origin:0;white-space:nowrap;flex-direction:column;align-items:flex-start;line-height:normal;display:flex}.streak-count-value{font-family:var(--font-brush);font-variant-numeric:tabular-nums;font-size:26px}.streak-count-multiplier{font-family:var(--font-kai);color:rgb(var(--ink-heavy));font-variant-numeric:tabular-nums;font-size:12px}.badge-in-streak,.badge-out-streak{transform-origin:0;animation:.25s cubic-bezier(.2,.9,.3,1) both badge-streak}.badge-out-streak{animation-direction:reverse}@keyframes badge-streak{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.badge-in-zen,.badge-out-zen{animation:.3s cubic-bezier(.2,.9,.3,1) both badge-zen}.badge-out-zen{animation-direction:reverse}@keyframes badge-zen{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.koi{pointer-events:auto;will-change:transform;width:136px;height:88px;position:absolute;top:-44px;left:-68px}.koi:focus-visible{outline:2px solid rgb(var(--gold-deep) / .6);border-radius:44px}.koi-glow{background:radial-gradient(ellipse closest-side, rgb(var(--gold-light) / .315), rgb(var(--gold-light) / 0));width:132px;height:84px;position:absolute;top:2px;left:2px}.koi-body{width:96px;height:48px;position:absolute;top:20px;left:20px}.foe-view{pointer-events:none;flex-direction:column;align-items:center;gap:2px;width:100%;height:100%;display:flex;position:relative}.foe-stage-line{align-items:center;gap:8px;display:flex}.foe-stage-label{font-family:var(--font-kai);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;line-height:1.3}.foe-challenge{pointer-events:auto;animation:.9s ease-in-out infinite alternate foe-breathe;display:inline-block}@keyframes foe-breathe{0%{transform:scale(1)}to{transform:scale(1.08)}}.foe-center{place-items:center;display:grid;position:relative}.foe-center>.foe-name,.foe-center>.foe-phrase{grid-area:1/1}.foe-name,.foe-name-stack{place-items:center;display:grid}.foe-name-stack>*{grid-area:1/1}.foe-aura{position:relative}.foe-aura-bloom{will-change:transform;position:absolute;inset:0}.foe-aura-bloom>*{display:block}.foe-eyes{will-change:transform, opacity;justify-content:space-between;width:34px;height:6px;margin:-3px 0 0 -17px;display:flex;position:absolute;top:50%;left:50%}.foe-eyes>span{background:rgb(var(--vermilion));border-radius:50%;width:6px;height:6px}.foe-name-text{font-family:var(--font-cursive);white-space:nowrap;text-shadow:1.2px 0 rgb(var(--paper)), -1.2px 0 rgb(var(--paper)), 0 1.2px rgb(var(--paper)), 0 -1.2px rgb(var(--paper));line-height:normal;transition:opacity .3s ease-out;display:inline-block}.foe-phrase{transition:opacity .3s ease-out;animation:.3s ease-out foe-fade-in}.foe-phrase.is-leaving{opacity:0}@keyframes foe-fade-in{0%{opacity:0}}.phrase-line{pointer-events:none;position:relative}.phrase-line>canvas{pointer-events:none;position:absolute}.foe-coach{z-index:2;pointer-events:none;justify-items:center;width:max-content;display:grid;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)}.foe-coach-slip{background:rgb(var(--paper) / .88);max-width:100%;color:rgb(var(--ink));font-family:var(--font-kai-bold);white-space:nowrap;border-radius:999px;grid-area:1/1;padding:3px 12px;line-height:1.25;transition:opacity .3s ease-in;animation:.2s ease-out foe-fade-in}.foe-coach-slip>span{display:inline-block}.foe-coach-slip.is-leaving{opacity:0}.foe-coach-slip.is-replaced{opacity:0;transition:opacity .2s ease-out}.foe-health{flex:none;height:5px;position:relative}.foe-health-fill{height:5px;transition:width .12s ease-out;position:absolute;top:0;left:0}.incense{flex:none;align-items:center;gap:6px;height:16px;display:flex}.incense-stick{flex:none;height:5px;position:relative}.incense-burning{height:5px;position:absolute;top:0;left:0}.incense-body{background:rgb(var(--ochre) / .85);border-radius:1.5px;height:3px;position:absolute;top:1px;right:0}.incense-ember{background:rgb(var(--vermilion));border-radius:50%;width:5px;height:5px;position:absolute;top:0;right:0}.incense-seconds{font-family:var(--font-kai-bold);font-variant-numeric:tabular-nums;white-space:nowrap;color:rgb(var(--ink-heavy));font-size:13px}.incense-seconds.is-urgent{color:rgb(var(--vermilion))}.foe-returns{font-family:var(--font-kai);font-variant-numeric:tabular-nums;white-space:nowrap;color:rgb(var(--ink-light));font-size:11px}.skill-bar{pointer-events:none;justify-content:center;align-items:center;gap:10px;width:100%;height:100%;display:flex;position:relative}.skill-seal,.skill-locked{flex-direction:column;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:flex;position:relative}.skill-seal{pointer-events:auto;transition:opacity .1s}.skill-seal:active:not(:disabled){opacity:.7}.skill-seal:focus-visible{outline:2px solid rgb(var(--ink));outline-offset:4px;border-radius:6px}.skill-seal>svg,.skill-locked>svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.skill-seal-glyph{font-family:var(--font-brush);font-size:21px;line-height:1;position:relative}.skill-locked-glyph,.skill-locked-stage{color:rgb(var(--ink-light));line-height:1.1;position:relative}.skill-locked-glyph{font-family:var(--font-brush);font-size:17px}.skill-locked-stage{font-family:var(--font-kai);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:9px}.game{position:fixed;inset:0;overflow:hidden}.game-column{width:100%;max-width:480px;height:100%;padding-top:env(safe-area-inset-top);flex-direction:column;margin:0 auto;display:flex;position:relative}.game-top{flex-direction:column;flex:1;min-height:0;display:flex}.game-stage{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.game-banner{pointer-events:none;z-index:5;justify-content:center;display:flex;position:absolute;top:34px;left:0;right:0}.game-toast{pointer-events:none;z-index:5;justify-content:center;display:flex;position:absolute;bottom:10px;left:0;right:0}.game-shop{min-height:0;padding:0 10px calc(env(safe-area-inset-bottom) + 6px);flex:0 0 44%}
