:root{color:#17362f;background:#cad2c8;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;--ink:#17362f;--paper:#f4f0e6;--paper2:#e9e4d8;--red:#a84a3f;--gold:#b88a4a;--herb:#607768;--muted:#767d76;--line:rgba(23,54,47,.2);--spring:#819878;--summer:#397a78;--autumn:#a3683f;--winter:#60717a;--fast:.16s;--panel:.32s;--route:.62s;--ease-out:cubic-bezier(.16,1,.3,1);font-synthesis:none}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:radial-gradient(circle at 50% 0,#edf0e7,#c7cfc4 70%)}button,a,select{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--red);outline-offset:3px}.app-frame{position:relative;width:min(100%,430px);min-height:100dvh;margin:0 auto;overflow-x:hidden;background:var(--paper);box-shadow:0 0 70px #17362f29}.motion-backdrop{position:fixed;z-index:0;top:0;right:0;bottom:0;left:50%;translate:-50%;width:min(100%,430px);pointer-events:none;overflow:hidden;color:var(--herb);opacity:.55}.motion-backdrop canvas,.motion-backdrop svg{display:block;width:100%;height:100%;pointer-events:none}.page-stage{position:relative;z-index:1;min-height:100dvh;perspective:1000px}.screen{position:relative;min-height:100dvh;padding:22px 20px 112px;background:linear-gradient(165deg,#ffffffad,#f4f0e6e0 42%,#f4f0e6c7);transform-style:preserve-3d}.screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.25;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.07'/%3E%3C/svg%3E")}.screen>*{position:relative}.mulan-icon{display:inline-block;flex:none}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:96px;border-bottom:1px solid var(--line)}.page-header h1{margin:3px 0 15px;max-width:300px;font-family:STZhongsong,Songti SC,serif;font-size:clamp(28px,8.5vw,38px);font-weight:600;line-height:1.14;letter-spacing:.035em}.kicker{margin:0;color:var(--herb);font-size:11px;letter-spacing:.15em}.header-mark{width:36px;padding:5px 4px;border:1px solid var(--red);color:var(--red);font-family:serif;font-size:11px;line-height:1.15;text-align:center}.icon-button{width:44px;height:44px;flex:none;margin-left:-10px;border:0;background:transparent;font-size:24px;cursor:pointer}.button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;padding:0 18px;border:1px solid var(--ink);border-radius:0;background:transparent;text-decoration:none;cursor:pointer;transition:background var(--fast),color var(--fast),opacity var(--fast)}.button.primary{background:var(--ink);color:var(--paper)}.button.ghost{background:#f4f0e6b3}.button.finish{border-color:var(--red);background:var(--red);color:#fff}.button:disabled{cursor:not-allowed;opacity:.42}.notice{padding:12px 14px;border-left:3px solid var(--red);background:#eee3d6;font-size:13px;line-height:1.55}.notice button{border:0;background:none;text-decoration:underline}.connection-bar{position:fixed;z-index:40;top:0;left:50%;translate:-50%;width:min(100%,430px);padding:9px;background:var(--red);color:#fff;text-align:center;font-size:12px}.tabbar{position:fixed;z-index:20;bottom:0;left:50%;translate:-50%;display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,430px);min-height:74px;padding:7px 18px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#f4f0e6f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;color:#7a837e;text-decoration:none}.tabbar a small{font-size:10px;letter-spacing:.08em}.tabbar a.router-link-active{color:var(--red)}.season-masthead{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line)}.season-masthead span{font-family:serif;font-size:22px;letter-spacing:.14em}.season-masthead small{color:var(--muted);font-size:10px}.season-masthead i{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--red);color:var(--red);font-family:serif;font-size:11px;font-style:normal}.season-hero{position:relative;height:590px;margin:16px -20px 0;overflow:hidden}.season-hero__image{width:100%;height:100%;object-fit:cover}.season-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(244,240,230,.12),transparent 35%,rgba(244,240,230,.94) 83%)}.season-hero__copy{position:absolute;z-index:2;top:42px;right:26px;bottom:28px;left:26px;display:flex;flex-direction:column;align-items:flex-start}.season-hero__copy>p:first-child{margin:0;color:var(--herb);font-size:11px;letter-spacing:.18em}.season-hero h1{margin:13px 0 0;font-family:STZhongsong,Songti SC,serif;font-size:66px;font-weight:500;line-height:.96;letter-spacing:.06em}.season-hero h1 small{display:block;margin:12px 0 0 5px;font-size:20px;letter-spacing:.16em}.season-verse{max-width:270px;margin-top:auto;font-family:serif;font-size:16px;line-height:1.8}.season-hero .button{margin-top:16px}.home-chapter{margin-top:28px}.pool-context{display:grid;grid-template-columns:48px 1fr;gap:15px;padding:20px 0;border-block:1px solid var(--line)}.chapter-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--herb);border-radius:50%}.chapter-label,.home-chapter small{color:var(--herb);font-size:10px;letter-spacing:.1em}.pool-context h2{margin:6px 0;font-family:serif;font-size:20px}.pool-context p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.benefit-banner{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;width:100%;padding:19px 0;border:0;border-bottom:1px solid var(--gold);background:transparent;text-align:left;cursor:pointer}.benefit-banner span{display:grid;gap:4px}.benefit-banner b{font-family:serif;font-size:16px;font-weight:500}.benefit-banner i{color:var(--red);font-size:11px;font-style:normal}.physical-preview{display:grid;grid-template-columns:56% 44%;min-height:280px;background:#17362f;color:var(--paper)}.physical-preview__image{overflow:hidden}.physical-preview img{width:100%;height:100%;object-fit:cover;object-position:32% center}.physical-preview>div:last-child{padding:24px 15px}.physical-preview h2{margin:18px 0 12px;font-family:serif;font-size:22px;font-weight:500;line-height:1.5}.physical-preview p{font-size:11px;line-height:1.7;opacity:.75}.formula-preview header{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line)}.formula-preview h2{margin:6px 0 14px;font-family:serif;font-weight:500}.formula-preview header button{min-height:44px;border:0;background:transparent;color:var(--red)}.formula-preview__rail{display:grid;grid-auto-flow:column;grid-auto-columns:76%;gap:12px;overflow-x:auto;padding:15px 0 8px;scroll-snap-type:x mandatory}.formula-preview__item{position:relative;min-height:44px;color:var(--ink);text-decoration:none;scroll-snap-align:start}.formula-preview__rail .formula-artwork{height:260px}.formula-preview__rail h3{margin:12px 0 4px;font-family:serif;font-size:21px}.formula-preview__rail p{margin:0;color:var(--muted);font-size:11px}.formula-artwork{position:relative;overflow:hidden;background:#ded9ca}.formula-artwork img{display:block;width:100%;height:100%;object-fit:cover}.formula-seal{display:grid;place-items:center;width:78px;min-height:78px;padding:8px;border:2px solid var(--red);color:var(--red);font-family:serif;font-size:16px;line-height:1.15;text-align:center;transform:rotate(-3deg)}.formula-seal.small{position:absolute;right:12px;bottom:12px;width:54px;min-height:54px;border-width:1px;font-size:12px;background:#f4f0e6db}.collection-preview{display:grid;grid-template-columns:100px 1fr;gap:15px;padding:22px;border:1px solid var(--line)}.collection-preview>div{display:grid}.collection-preview strong{font-family:serif;font-size:46px;color:var(--red)}.collection-preview strong i{font-size:14px;font-style:normal}.collection-preview p{margin:8px 0;color:var(--muted);font-family:serif;line-height:1.7}.collection-preview a{grid-column:2;color:var(--ink);font-size:12px}.coming-soon{display:grid;grid-template-columns:1fr 1fr;margin-top:28px;border-block:1px solid var(--line)}.coming-soon span{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:6px;padding:15px 8px;color:#8c928d;font-size:12px}.coming-soon span+span{border-left:1px solid var(--line)}.coming-soon small{grid-column:2;font-size:9px}.demo-tools{margin-top:20px;color:var(--muted);font-size:11px}.demo-tools button{margin-top:10px}.sheet-layer{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding-top:40px;background:#0c1e1a7a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.bottom-sheet{width:min(100%,430px);max-height:90dvh;overflow:auto;padding:10px 20px calc(22px + env(safe-area-inset-bottom));background:var(--paper);box-shadow:0 -20px 50px #0c1e1a33}.sheet-handle{width:44px;height:3px;margin:2px auto 15px;background:var(--line)}.bottom-sheet>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.bottom-sheet>header h2{font-family:serif;font-size:24px;font-weight:500}.bottom-sheet>header button{width:44px;height:44px;border:0;background:none;font-size:25px}.sheet-enter-active,.sheet-leave-active{transition:opacity var(--panel)}.sheet-enter-active .bottom-sheet,.sheet-leave-active .bottom-sheet{transition:transform var(--panel) var(--ease-out)}.sheet-enter-from,.sheet-leave-to{opacity:0}.sheet-enter-from .bottom-sheet,.sheet-leave-to .bottom-sheet{transform:translateY(40px)}.choice-paths{display:grid;gap:10px;padding:18px 0}.choice-paths button{position:relative;display:grid;grid-template-columns:44px 1fr;gap:13px;min-height:112px;padding:18px;border:1px solid var(--line);background:transparent;text-align:left}.choice-paths button:not(:disabled){border-color:var(--ink);cursor:pointer}.choice-paths button:disabled{color:#8c928d}.choice-paths span{display:grid;gap:7px}.choice-paths b{font-family:serif;font-size:20px}.choice-paths small{line-height:1.5}.choice-paths em{position:absolute;right:12px;top:10px;color:var(--red);font-size:9px;font-style:normal}.rule-list{list-style:none;margin:12px 0 20px;padding:0}.rule-list li{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.rule-list span{font-size:13px;line-height:1.6}.rule-list b{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:7px;border:1px solid var(--red);border-radius:50%;color:var(--red);font-size:10px}.pool-confirm,.start-confirm,.finish-confirm{text-align:center;padding:22px 10px}.pool-confirm small{display:block;margin-top:12px}.pool-confirm h2{font-family:serif;font-size:30px}.pool-confirm p,.start-confirm p,.finish-confirm p{color:var(--muted);line-height:1.7}.filter-tabs{display:grid;grid-template-columns:1fr 1fr;margin-top:20px;border-bottom:1px solid var(--line)}.filter-tabs button{min-height:46px;border:0;background:none;color:var(--muted)}.filter-tabs button.active{border-bottom:2px solid var(--red);color:var(--ink)}.rule-inline{display:flex;align-items:center;gap:8px;width:100%;min-height:58px;padding:8px 0;border:0;background:none;text-align:left;font-size:11px}.rule-inline span{margin-left:auto;color:var(--red)}.formula-index{margin:0 -20px}.formula-entry{display:grid;grid-template-columns:42% 58%;min-height:310px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}.formula-entry:nth-child(2n){grid-template-columns:58% 42%}.formula-entry:nth-child(2n) .formula-artwork{order:2}.formula-entry .formula-artwork{min-height:310px}.formula-entry__body{position:relative;padding:20px 16px}.formula-entry__body>small{color:var(--red);font-size:9px}.formula-entry h2{margin:20px 0 8px;font-family:serif;font-size:24px;font-weight:500}.formula-entry p{color:var(--herb);font-size:12px}.formula-entry dl{display:grid;gap:7px;margin-top:18px}.formula-entry dl div{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px}.formula-entry footer{display:flex;justify-content:space-between;align-items:end;margin-top:18px}.formula-entry footer b{font-family:serif;font-size:22px}.formula-entry footer span{font-size:9px}.soldout{color:var(--red)}.formula-skeleton{display:grid;gap:12px}.formula-skeleton i{height:300px;background:linear-gradient(90deg,#e1ddd3,#f0ede5,#e1ddd3);background-size:200% 100%;animation:skeleton 1.4s infinite}.async-panel{padding:60px 20px;text-align:center}.async-panel h2{font-family:serif;font-weight:500}.async-panel p{color:var(--muted);font-size:12px;line-height:1.7}.formula-detail-visual{position:relative;height:470px;margin:20px -20px 0}.formula-detail-visual .formula-artwork{height:100%}.formula-detail-visual>.formula-seal{position:absolute;right:22px;bottom:22px;background:#f4f0e6e0}.formula-opening{margin:27px 0;font-family:serif;font-size:23px;line-height:1.7}.formula-facts{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.formula-facts span{display:flex;flex-direction:column;align-items:center;gap:7px;padding:15px 5px;font-size:10px;text-align:center}.formula-facts span+span{border-left:1px solid var(--line)}.formula-chapters section{display:grid;grid-template-columns:32px 1fr;padding:25px 0;border-bottom:1px solid var(--line)}.formula-chapters section>*:not(.mulan-icon){grid-column:2}.formula-chapters small{color:var(--herb);font-size:10px}.formula-chapters h2{margin:7px 0;font-family:serif;font-size:20px;font-weight:500}.formula-chapters blockquote{margin:30px 0;padding:20px;border-left:1px solid var(--gold);font-family:serif;line-height:2}.order-pool{display:flex;align-items:center;gap:12px;padding:18px 0}.order-pool div{display:grid;gap:4px}.order-pool small{color:var(--muted);font-size:10px}.action-dock{position:sticky;z-index:5;bottom:18px;margin-top:20px;box-shadow:0 12px 35px #17362f33}.order-summary{text-align:center;padding:15px}.order-summary>.formula-seal{margin:0 auto}.order-summary h3{font-family:serif;font-size:26px}.order-summary dl div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.order-summary dt{color:var(--muted);font-size:11px}.order-summary dd{margin:0}.prep-sticky{position:sticky;z-index:12;top:-22px;display:flex;align-items:center;justify-content:space-between;margin:-22px -20px 0;padding:17px 20px;background:#f4f0e6f0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.prep-sticky div{display:grid}.prep-sticky small{color:var(--red);font-size:10px}.prep-sticky button{min-width:120px;min-height:44px;border:1px solid var(--ink);background:var(--ink);color:var(--paper)}.prep-sticky button:disabled{background:transparent;color:var(--muted);opacity:.7}.journey-progress{display:flex;justify-content:space-between;margin:23px 0}.journey-progress i{position:relative;color:#9ca19d;font-size:9px;font-style:normal}.journey-progress i:not(:last-child):after{content:"";position:absolute;top:5px;left:calc(100% + 5px);width:55px;height:1px;background:var(--line)}.journey-progress i.done{color:var(--red)}.prep-card{min-height:390px;margin:20px 10px;padding:50px 26px;border:1px solid var(--gold);background:linear-gradient(150deg,#e2e3da,#f2eee5);text-align:center;box-shadow:0 25px 60px #17362f1a}.prep-card>span{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 45px;border:1px solid currentColor;border-radius:50%}.prep-card small{color:var(--herb)}.prep-card h1{margin:20px 0;font-family:serif;font-size:68px;font-weight:500}.prep-card p{font-size:12px;line-height:1.7}.prep-card.ready{border-color:var(--red);background:#f7f1e3}.waiting-progress{display:grid;grid-template-columns:100px 1fr;gap:15px;margin:34px 0;padding:20px 0;border-block:1px solid var(--line)}.waiting-progress strong{font-family:serif;font-size:48px;color:var(--red)}.waiting-progress strong i{font-size:13px;font-style:normal}.waiting-progress p{margin:6px 0;color:var(--muted);font-size:11px;line-height:1.6}.waiting-progress button{border:0;background:none;color:var(--red);font-size:10px;text-decoration:underline}.ritual-steps h2{font-family:serif;font-weight:500}.ritual-steps ol{display:grid;grid-template-columns:repeat(4,1fr);padding:0;list-style:none}.ritual-steps li{display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 3px;color:#999;text-align:center}.ritual-steps li.done{color:var(--ink)}.ritual-steps b{font-family:serif}.ritual-steps small{font-size:8px;line-height:1.4}.physical-reminder{display:grid;grid-template-columns:48% 52%;margin:35px -20px 0;background:var(--ink);color:var(--paper)}.physical-reminder img{width:100%;height:230px;object-fit:cover;object-position:30% center}.physical-reminder div{padding:22px 15px}.physical-reminder h2{font-family:serif;font-size:20px;font-weight:500;line-height:1.5}.physical-reminder p{font-size:10px;line-height:1.7;opacity:.75}.waiting-formula{margin:45px 0 10px}.waiting-formula header{position:relative;padding-right:90px}.waiting-formula header small{color:var(--herb)}.waiting-formula header h2{font-family:serif;font-size:32px}.waiting-formula header .formula-seal{position:absolute;right:0;top:0}.waiting-formula>.formula-artwork{height:430px}.waiting-formula .lead{font-family:serif;font-size:20px;line-height:1.7}.waiting-formula dl>div{display:grid;grid-template-columns:30px 70px 1fr;padding:16px 0;border-top:1px solid var(--line)}.waiting-formula dt{color:var(--herb);font-size:11px}.waiting-formula dd{margin:0;line-height:1.6}.waiting-formula blockquote{margin:25px 0;padding:20px;border-left:2px solid var(--gold);font-family:serif;line-height:2}.waiting-formula footer{text-align:right;color:var(--muted);font-size:11px}.timer-orbit{display:grid;place-items:center;width:270px;height:270px;margin:54px auto 36px;border-radius:50%;background:conic-gradient(var(--gold) var(--progress),rgba(23,54,47,.09) 0);padding:2px}.timer-orbit:before{content:"";position:absolute;width:250px;height:250px;border-radius:50%;background:var(--paper)}.timer-orbit div{z-index:1;text-align:center}.timer-orbit strong{display:block;font-family:serif;font-size:58px;font-weight:400;font-variant-numeric:tabular-nums}.timer-orbit span{font-size:10px;letter-spacing:.12em}.bath-ritual{display:flex;align-items:center;justify-content:center}.bath-ritual span{font-size:10px;color:#999}.bath-ritual span.active{color:var(--red)}.bath-ritual i{width:20px;height:1px;margin:0 5px;background:var(--line)}.quiet-formula{display:grid;grid-template-columns:34px 1fr;gap:12px;margin-top:45px;padding:20px 0;border-block:1px solid var(--line)}.quiet-formula small{color:var(--muted);font-size:9px}.quiet-formula h2{margin:6px 0;font-family:serif;font-weight:500}.quiet-formula p{margin:0;color:var(--muted);font-size:11px}.collection-goal{display:flex;gap:12px;padding:20px;background:#b88a4a1a}.collection-goal p{margin:0;font-family:serif;line-height:1.7}.season-card{position:relative;min-height:480px;margin:30px 8px 24px;padding:36px 28px;border:1px solid var(--gold);background:#f8f2e5;box-shadow:0 28px 70px #17362f24;text-align:center}.season-card.makeup{background:#e9e6dc}.card-type{color:var(--herb);font-size:10px;letter-spacing:.18em}.season-card h2{margin:52px 0 24px;font-family:serif;font-size:78px;font-weight:500;letter-spacing:.08em}.season-card p{font-family:serif;line-height:1.9}.season-card .card-stamp{margin:46px auto 18px}.season-card>small,.season-card>em{display:block;color:var(--muted);font-size:10px;font-style:normal}.makeup-intro{display:flex;gap:12px;margin:20px 0;padding:15px;border-left:2px solid var(--gold)}.makeup-intro p{margin:0;font-size:12px;line-height:1.7}.makeup-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.makeup-grid button{display:grid;min-height:128px;padding:14px;border:1px solid var(--line);background:#f4f0e6b3;text-align:left}.makeup-grid button.selected{border:2px solid var(--red);background:#f8f1e3}.makeup-grid span{color:var(--herb);font-size:9px}.makeup-grid b{margin:7px 0;font-family:serif;font-size:25px}.makeup-grid small,.makeup-grid em{color:var(--muted);font-size:9px;font-style:normal}.makeup-preview{margin:18px 0;padding:20px;border-block:1px solid var(--gold);text-align:center}.makeup-preview strong{display:block;margin:8px;font-family:serif;font-size:40px}.makeup-preview p{font-family:serif}.reveal-complete{text-align:center}.pickup-image{height:285px;margin:20px -20px 24px;overflow:hidden}.pickup-image img{width:100%;height:100%;object-fit:cover;object-position:26% center}.reveal-complete h2{font-family:serif;font-size:28px;font-weight:500}.reveal-complete p{color:var(--muted);line-height:1.7}.reveal-actions{display:grid;gap:10px;margin-top:24px}.book-cover{position:relative;height:500px;margin:20px -20px 0;overflow:hidden;background:var(--ink);color:#fff}.book-cover img{width:100%;height:100%;object-fit:cover}.book-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#09201b0d,#09201bb8)}.book-cover>div{position:absolute;z-index:1;top:30px;right:24px;bottom:30px;left:24px;display:flex;flex-direction:column}.book-cover h2{font-family:serif;font-size:30px;font-weight:500;line-height:1.5}.book-cover strong{margin-top:auto;font-family:serif;font-size:62px}.book-cover strong i{font-size:15px;font-style:normal}.book-summary{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.book-summary div{display:grid;padding:18px 10px}.book-summary div+div{border-left:1px solid var(--line)}.book-summary small{color:var(--muted);font-size:9px}.book-summary b{margin-top:5px;font-family:serif;font-size:19px}.free-progress{display:flex;align-items:center;gap:12px;width:100%;padding:20px 0;border:0;border-bottom:1px solid var(--gold);background:none;text-align:left}.free-progress span{display:grid;gap:4px}.free-progress b{font-family:serif}.free-progress small{color:var(--muted);font-size:9px}.year-select{display:flex;align-items:center;gap:7px;margin:22px 0;font-size:11px}.year-select select{margin-left:auto;min-height:44px;padding:0 28px 0 12px;border:1px solid var(--line);background:var(--paper)}.season-band{display:grid;grid-template-columns:52px 1fr;margin-bottom:12px;border:1px solid var(--line)}.season-band>header{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:15px 5px;background:#dde4da}.season-band>header b{font-family:serif;font-size:24px}.season-band>header span{font-size:9px}.season-band>div{display:grid;grid-template-columns:repeat(3,1fr)}.term-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:92px;padding:6px;border:0;border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:#e8e7df;color:#999}.term-cell span{font-family:serif;font-size:16px}.term-cell small{margin-top:5px;font-size:8px}.term-cell em{margin-top:4px;color:var(--red);font-size:8px;font-style:normal}.term-cell.collected{background:#f8f4e9;color:var(--ink)}.term-cell.fresh{background:var(--ink);color:var(--paper)}.stamp-shelf{margin-top:30px;border-top:2px solid var(--ink)}.stamp-shelf>header{display:flex;gap:10px;padding:18px 0}.stamp-shelf h2{margin:4px 0;font-family:serif;font-weight:500}.stamp-shelf>div{display:flex;align-items:center;gap:15px;padding:12px 0;border-top:1px solid var(--line)}.stamp-shelf .formula-seal{position:static}.stamp-shelf span{display:grid}.stamp-shelf small{color:var(--muted);font-size:10px}.term-detail__date{display:flex;align-items:center;gap:12px;margin-top:18px;padding:18px 0;border-bottom:1px solid var(--line)}.term-detail__date span{display:grid;gap:4px}.term-detail__date small{color:var(--muted)}.term-detail blockquote{margin:20px 0;padding:16px;border-left:2px solid var(--gold);font-family:serif;line-height:1.8}.term-detail>p{color:var(--muted);font-size:12px;line-height:1.7}.term-count{padding:15px;background:#b88a4a1a}.term-count strong{font-family:serif;font-size:28px;color:var(--red)}.term-detail h3{display:flex;align-items:center;gap:7px;margin-top:25px;font-family:serif}.term-history article{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.term-history .formula-seal{position:static}.term-history article>div{display:grid}.term-history small,.term-history p{color:var(--muted);font-size:9px}.term-history p{margin:5px 0}.collection-preview a,.waiting-progress button{display:flex;align-items:center;min-height:44px}.collection-preview a{justify-content:center}.waiting-progress button{padding-block:0}@keyframes skeleton{to{background-position:-200% 0}}@media (max-width:340px){.screen{padding-inline:15px}.season-hero,.formula-detail-visual,.book-cover,.pickup-image{margin-inline:-15px}.season-hero h1{font-size:56px}.formula-index{margin-inline:-15px}.formula-entry{grid-template-columns:40% 60%}.formula-entry:nth-child(2n){grid-template-columns:60% 40%}.season-card h2{font-size:66px}.journey-progress i:not(:last-child):after{width:43px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.motion-backdrop canvas{display:none}.formula-seal,.season-card{transform:none!important}}.water-temp{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:28px;padding:15px 0;border-block:1px solid var(--line)}.water-temp__main{display:flex;align-items:center;gap:7px}.water-temp__main strong{font-family:serif;font-size:26px;font-weight:400;font-variant-numeric:tabular-nums}.water-temp__label{font-size:11px;color:var(--herb)}.water-temp__hint{margin:0;color:var(--muted);font-size:10px;text-align:right}.water-temp.status-low .water-temp__main strong,.water-temp.status-high .water-temp__main strong,.water-temp.status-low .water-temp__label,.water-temp.status-high .water-temp__label,.water-temp.link-stale .water-temp__hint{color:var(--red)}.water-temp.link-lost .water-temp__main strong{font-family:inherit;font-size:14px;color:var(--muted)}.water-temp.link-lost .water-temp__label,.water-temp.link-lost .water-temp__hint{color:var(--muted)}.water-temp-alert{display:flex;align-items:center;gap:8px;margin:10px 0 0;padding:12px 14px;border-left:3px solid var(--red);background:#eee3d6;color:var(--red);font-size:12px;line-height:1.55}.water-temp-alert .mulan-icon{animation:water-temp-pulse 1.4s ease-in-out infinite}@keyframes water-temp-pulse{50%{opacity:.3}}.bathing-screen.water-alarm{box-shadow:inset 0 0 0 2px var(--red)}@media (prefers-reduced-motion:reduce){.water-temp-alert .mulan-icon{animation:none}}.season-card-art{position:relative;width:min(68vw,320px);margin:24px auto 18px;cursor:pointer;outline:none;-webkit-user-select:none;user-select:none}.season-card-art:focus-visible{outline:2px solid var(--red);outline-offset:6px}.season-card-stage{position:relative;perspective:1400px;aspect-ratio:1/2}.season-card-flip{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;will-change:transform}.season-card-art.is-revealed .season-card-flip{transform:rotateY(180deg)}.season-card-face{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:3px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 26px 58px #09201b3d}.season-card-face img{display:block;width:100%;height:100%;object-fit:cover}.season-card-face--front{transform:rotateY(180deg)}.card-seal-slot{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:36%;aspect-ratio:1;transform:translate(-50%,-50%);opacity:.92}.card-seal-slot .formula-seal.small{position:static;right:auto;bottom:auto;width:100%;height:100%;min-height:0;border-radius:50%;background:#f6f3ec9e;font-size:14px;letter-spacing:.04em;line-height:1.2}.card-sheen{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 32%,rgba(255,255,255,.42) 48%,transparent 64%);transform:translate(-140%);pointer-events:none}.card-mote{position:absolute;width:5px;height:5px;border-radius:50%;background:#c8a06ad9;box-shadow:0 0 8px #c8a06a99;opacity:0;pointer-events:none}.card-mote--1{left:4%;top:22%}.card-mote--2{left:90%;top:18%}.card-mote--3{left:8%;top:52%}.card-mote--4{left:88%;top:47%}.card-mote--5{left:14%;top:78%}.card-mote--6{left:82%;top:72%}.card-mote--7{left:2%;top:88%}.card-mote--8{left:94%;top:86%}.season-card-caption{display:grid;gap:4px;margin-top:14px;text-align:center;color:var(--muted);font-size:10px}.season-card-caption span{color:var(--herb);letter-spacing:.16em}.season-card-caption b{color:var(--ink);font-family:serif;font-size:14px;font-weight:500}.season-card-caption em{font-style:normal}.term-card-art{position:relative;width:58%;max-width:240px;margin:0 auto 18px}.term-card-art img{display:block;width:100%;aspect-ratio:1/2;object-fit:contain;border-radius:3px;box-shadow:0 16px 34px #09201b2e}.term-card-art figcaption{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:6px 12px;border:1px solid var(--gold);background:#f6f3eceb;color:var(--herb);font-size:10px;letter-spacing:.12em;white-space:nowrap}@media (max-width:340px){.season-card-art{width:72vw}}@media (prefers-reduced-motion:reduce){.card-sheen,.card-mote{display:none}}
