:root{--green:#079e49;--ink:#252c25;--muted:#60695e;--paper:#f7faf2;--line:#e8eee3;--red:#d91d28;--radius:18px;background:#edf4e6}.shell{min-height:100vh}.sidebar{height:100vh}.main{padding-top:0;max-width:1000px}.main.reader{max-width:570px;background:#fafcf6;padding:0 26px 25px}.sidebar-name{font-size:19px;font-weight:700;color:#287739;margin-top:-36px}.sidebar-foot{display:grid;gap:10px}.wordmark strong{display:block;color:#d72029;font-family:STXingkai,"华文行楷",KaiTi,"楷体",serif;font-style:italic;font-size:31px;line-height:1.15;letter-spacing:1px}.wordmark small{display:block;font-size:8px;letter-spacing:1px;color:#363d36;font-weight:700}.app-topbar{height:80px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.app-topbar>span{font-size:14px;color:#5b675a}.app-topbar .icon-button{color:#737a71}.main.reader.view-home .app-topbar{position:absolute;top:0;left:26px;right:26px}.main{position:relative}.icon-button{width:44px;height:44px;background:transparent;border:0;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.icon-button:hover{background:#eaf2e7}.icon{stroke-width:2}.nav-item.active{color:var(--red);background:#fff1ee}.page-heading{margin:0 0 24px}.page-heading h1{font-size:25px}.button{border-radius:28px;background:linear-gradient(100deg,#e12930,#d61523);min-height:46px;font-weight:700}.button.secondary{background:#eaf5e6;color:#217440}.button.outline{color:#bd1b25;border-color:#a2b18c}.button.wide{width:100%;position:relative}.button.wide>.icon{position:absolute;right:18px;width:18px}.button.small{min-height:40px}.link{color:#287542;min-height:40px}.workspace{border:0}.reading-cover{position:relative;margin:0 -26px;height:420px;overflow:hidden;background:#f5faee}.reading-cover>img{position:absolute;bottom:0;width:100%;height:auto;object-fit:cover;object-position:center bottom}.cover-title{position:absolute;top:90px;left:0;right:0;text-align:center}.cover-title h1{color:#28792b;font-size:38px;line-height:1.2;letter-spacing:1px;font-weight:900;transform:rotate(-3deg);text-shadow:0 2px 0 #fff}.cover-title p{font-weight:700;color:#903c27;margin-top:9px;font-size:14px}.home-overlap{position:relative;margin-top:-22px;z-index:2}.reading-card{background:#fff;border-radius:24px;padding:19px 17px 16px;box-shadow:0 5px 22px #32551b0b}.reading-card h2{display:flex;gap:10px;align-items:center;margin:0 2px 13px}.reading-card h2>.icon{background:var(--green);color:#fff;border-radius:6px;padding:4px;width:28px;height:28px}.pass-stats{background:linear-gradient(110deg,#f2f8f1,#f7faf5);border-radius:16px;display:grid;grid-template-columns:1fr 1fr;text-align:center;padding:17px 0 14px}.pass-stats>div+div{border-left:1px solid #e0e9de}.pass-stats span{display:block;font-size:14px;font-weight:600}.reading-balance{display:block;color:var(--green);font-size:46px;line-height:1.15;margin-top:5px;font-variant-numeric:tabular-nums}.reading-balance small{font-size:18px;color:inherit;margin-left:7px}.expiry{font-size:19px;display:block;line-height:1.3;margin-top:20px;font-variant-numeric:tabular-nums}.family-meta{display:flex;align-items:center;gap:12px;margin:17px 0 20px}.family-meta>img{width:51px;height:51px;border-radius:50%}.family-meta>div{min-width:0;flex:1}.family-meta>div+div{border-left:1px solid var(--line);padding-left:12px}.family-meta span{display:block;color:var(--muted);font-size:13px}.family-meta strong{font-size:14px;display:block;overflow-wrap:anywhere;margin-top:2px}.home-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 10px 0}.home-links button{min-height:50px;border:0;border-radius:26px;background:#fceee6;display:flex;align-items:center;justify-content:center;gap:12px;font-size:15px;color:#373c33}.home-links button>.icon{color:var(--red);width:26px;height:26px}.home-links button+button{background:#fff4df}.home-links button+button>.icon{color:#f08b04}.garden-footer{width:calc(100% + 52px);margin:3px -26px -8px;display:block;max-height:140px;object-fit:cover;object-position:center bottom;pointer-events:none}.demo-bar{background:none;border:0;font-size:11px;color:#62715c;padding:12px 0;margin-top:12px;justify-content:space-between}.demo-bar select{padding:5px;border-radius:8px;color:#4c6547}
.view-home:not(.reader){background:#f8faf4}.workbench-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:620px}.work-tile{border:0;border-radius:20px;min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 12px;color:var(--ink)}.work-tile.green{background:#eaf5e9}.work-tile.blue{background:#e8f2ff}.work-tile.orange{background:#fff3df}.work-tile.purple{background:#f0e8f8}.work-tile>span>.icon{width:33px;height:33px}.green>.icon,.green>span{color:#069a47}.blue>.icon,.blue>span{color:#1476f6}.orange>.icon,.orange>span{color:#f18700}.purple>.icon,.purple>span{color:#8759b2}.red>.icon{color:#d6292e}.gold>.icon{color:#a89043}.work-tile p{font-weight:600;margin-top:6px}.work-tile strong{font-size:29px;line-height:1.25;margin-top:5px;font-variant-numeric:tabular-nums}button.work-tile{min-height:125px}button.work-tile:active{transform:scale(.98)}.view-home:not(.reader){max-width:760px}.quiet-row{border:0;background:none;display:flex;width:100%;align-items:center;gap:9px;padding:20px 0;color:#60725b;font-size:13px}.quiet-row>.icon:last-child{margin-left:auto;width:16px}.menu-group,.profile-card{background:#fff;border-radius:18px;overflow:hidden}.section-gap{margin-top:20px}.menu-row{display:flex;align-items:center;gap:15px;border:0;background:#fff;width:100%;min-height:65px;padding:15px 19px;text-align:left;font-weight:600;color:var(--ink)}.menu-row+.menu-row{border-top:1px solid #f4f5f1}.menu-symbol{width:30px;display:grid;place-items:center;flex-shrink:0}.menu-symbol>.icon{width:27px;height:27px}.menu-row>.icon:last-child,.info-row>.icon:last-child{margin-left:auto;color:#969d91;width:16px}.menu-row:hover,.info-row:hover{background:#fbfcf7}.notice{background:#eaf4e3;border-radius:16px;color:#4c6442;margin-top:22px}.info-note{display:flex;gap:12px;align-items:flex-start}.info-note>.icon{color:#67a760;width:22px;margin-top:1px}.profile-card{padding:24px}.profile-heading{display:flex;gap:20px;align-items:center}.family-portrait{width:105px;height:105px;border-radius:50%}.profile-heading h2{font-size:22px}.family-badge{border-radius:20px;margin-top:8px}.profile-facts{display:grid;grid-template-columns:76px 1fr;gap:12px 14px;font-size:15px;margin:25px 0}.profile-facts dt{color:#676e63}.profile-facts dd{margin:0;overflow-wrap:anywhere}.profile-card>h3{margin:20px 0 10px}.detail-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:12px;padding:16px 0;margin:0}.record-filters{display:flex;gap:8px;overflow:auto;scrollbar-width:thin;padding:0 0 10px;margin-bottom:15px}.filter{border:0;border-radius:22px;background:#f4f0e7;color:#555b52;padding:9px 14px;white-space:nowrap;min-height:40px;font-size:14px;font-weight:600}.filter.selected{background:var(--red);color:#fff}.record-context{font-size:13px;color:var(--muted);margin-bottom:12px}.records-sheet{background:#fff;border-radius:16px;padding:8px 0}.ledger li{gap:18px;position:relative;padding:18px 18px 20px;border:0}.ledger .event-icon{position:relative;width:40px;height:40px;color:#fff;background:#6cb04a;z-index:1}.event-icon>.icon{width:25px;height:25px}.ledger .event-visit{background:#ffad45}.ledger .event-gift{background:#2587f7}.ledger .event-reversal{background:#70b66e}.ledger .event-extend{background:#aa9457}.ledger li:not(:last-child):after{content:"";position:absolute;left:37px;top:55px;bottom:-18px;width:2px;background:#edf1e6}.ledger-body{border-bottom:1px solid #f3f5ef;padding-bottom:18px}.ledger li:last-child .ledger-body{border-bottom:0;padding-bottom:0}.ledger-title{align-items:baseline;font-size:17px}.ledger-title>b{font-size:22px;white-space:nowrap;font-variant-numeric:tabular-nums}.positive{color:#079b45}.negative{color:#c16a07}.ledger-meta,.ledger-note{color:#697063;font-size:14px;margin-top:3px;overflow-wrap:anywhere}.store-picture{position:relative;border-radius:18px;overflow:hidden;margin:0 0 16px}.store-picture>img{width:100%;aspect-ratio:1.8;object-fit:cover;display:block}.store-picture figcaption{position:absolute;bottom:0;left:0;right:0;padding:25px 14px 12px;background:linear-gradient(transparent,#382610b8);color:#fff;display:flex;align-items:center;gap:5px;font-size:15px;font-weight:600;flex-wrap:wrap}.store-picture small{color:#fff;font-size:10px;margin-left:auto}.store-picture .icon{width:22px}.info-row{display:flex;gap:18px;align-items:flex-start;text-align:left;padding:18px 20px;width:100%;border:0;background:#fff;color:var(--ink)}.info-row+.info-row{border-top:1px solid #f4f5f1}.info-row>span:nth-child(2){display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}.info-row strong{font-size:16px}.info-row small{font-size:13px}.info-row:disabled{opacity:1;cursor:default}.store-facts .info-row{padding:16px 20px}.info-row>.icon:last-child{align-self:center}.list-toolbar{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:20px}.list-toolbar p{font-size:13px;color:var(--muted)}
dialog{border-radius:24px;background:#f9fbf5}.dialog-head{padding:22px}.dialog-body{padding:0 22px 24px}.field input,.field textarea,.field select{border-radius:12px;min-height:48px}.form-error:empty{display:none}.form .notice{margin:0}.children-field{border:0;padding:0;margin:0;min-width:0}.children-field legend{font-size:15px;font-weight:600;margin-bottom:12px}.check-group{display:grid;gap:0;background:#fff;border-radius:16px;overflow:hidden}.child-option{border:0;border-radius:0;min-height:64px}.child-option+label{border-top:1px solid var(--line)}.child-option strong{font-size:16px;overflow-wrap:anywhere;min-width:0}.child-option small{margin-left:auto;white-space:nowrap}.child-option input{accent-color:#a18f50;width:19px;height:19px;flex-shrink:0}.child-avatar{width:40px;height:40px;display:block;overflow:hidden;border-radius:50%;flex-shrink:0}.child-avatar img{width:100%;height:100%;object-fit:cover}.consume-member{background:#eef5e9;padding:15px 17px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}.consume-member strong{display:block;color:var(--ink);font-size:21px}.consume-member small{font-size:12px}.confirm-counts{background:#f0f5e9;border-radius:16px;padding:20px 8px;gap:4px}.confirm-counts span{font-size:14px;font-weight:600;margin-bottom:10px;color:var(--ink)}.confirm-counts strong{font-size:30px;color:#a96a3d}.confirm-counts small{margin-left:4px}.confirm-counts>div:nth-child(2) strong{color:#c16a07}.confirm-counts>div:nth-child(2){background:#fffaf1;border-radius:12px}.consume-help{font-size:12px;color:var(--muted)}.consume-form .form-actions>.secondary{display:none}.consume-form .form-actions>.button{width:100%;min-height:50px}.legal h3{margin:20px 0 8px}.legal h3:first-child{margin-top:0}.legal p{line-height:1.85}.login-panel>.wordmark{margin-bottom:30px}
@media(max-width:760px){body{background:#f7faf2}.main,.main.reader{max-width:500px;min-height:100dvh;padding:0 18px 25px;background:#f8faf4}.main.reader.view-home{background:#fafcf6}.main:not(.reader).view-home,.main:not(.reader).view-members,.main:not(.reader).view-manage{padding-bottom:100px}.app-topbar{height:66px}.app-topbar .wordmark strong{font-size:29px}.main.reader.view-home .app-topbar{left:22px;right:17px;height:70px}.main:not(.view-home) .app-topbar{height:54px}.main:not(.view-home) .app-topbar>span{visibility:hidden}.main:not(.view-home)>.page-heading{margin:-42px 45px 27px;text-align:center;pointer-events:none}.page-heading h1{font-size:21px}.view-home>.page-heading{margin:4px 0 17px}.view-home>.page-heading h1{font-size:24px}.reading-cover{margin:0 -18px;height:350px}.cover-title{top:85px}.cover-title h1{font-size:34px}.cover-title p{font-size:13px;margin-top:5px}.home-overlap{margin-top:-19px}.reading-card{padding:16px 13px 14px;border-radius:22px}.reading-card h2{font-size:18px;margin-bottom:11px}.pass-stats{padding:14px 0 12px}.reading-balance{font-size:43px}.expiry{font-size:18px;margin-top:18px}.pass-stats span{font-size:13px}.family-meta{gap:9px;margin:16px 0 18px}.family-meta>img{width:46px;height:46px}.family-meta>div+div{padding-left:10px}.family-meta strong{font-size:13px}.family-meta span{font-size:12px}.home-links{margin:15px 5px 0;gap:10px}.home-links button{font-size:14px;gap:8px;min-height:48px}.garden-footer{margin:2px -18px -5px;width:calc(100% + 36px);height:105px}.workbench-grid{gap:14px}.work-tile{min-height:137px;border-radius:18px;padding:17px 8px}.work-tile p{font-size:15px}.work-tile strong{font-size:29px}button.work-tile{min-height:119px}.mobile-nav{border:0;border-radius:22px 22px 0 0;padding-top:10px;box-shadow:0 -3px 24px #345a2608}.mobile-nav .nav-item{padding:3px 20px;font-size:12px}.mobile-nav .icon{width:25px;height:25px}.profile-card{padding:20px 16px}.family-portrait{width:93px;height:93px}.profile-heading{gap:16px}.profile-heading h2{font-size:21px}.profile-facts{gap:10px;font-size:14px;margin:23px 0}.detail-actions{padding-top:14px}.detail-actions .button{font-size:15px}.menu-row{min-height:63px;padding:15px 17px;font-size:15px}.menu-row .menu-symbol{width:27px}.section-gap{margin-top:16px}.notice{margin-top:22px;padding:17px 16px}.filter{font-size:13px;padding:8px 12px}.ledger li{gap:15px;padding:17px 12px}.ledger .event-icon{width:38px;height:38px}.ledger li:not(:last-child):after{left:30px}.ledger-title{font-size:17px}.ledger-title>b{font-size:22px}.ledger-meta,.ledger-note{font-size:13px}.records-sheet{padding:4px 0}.store-picture{margin-top:6px}.store-picture figcaption{font-size:14px}.store-picture small{font-size:9px}.info-row{gap:15px;padding:16px}.store-facts .info-row{padding:15px 16px}.info-row strong{font-size:15px}.info-row>span:nth-child(2)>span{font-size:14px}.list-toolbar{align-items:flex-start}.list-toolbar>.button{white-space:nowrap}.table .button.small{min-height:38px}.consume-dialog{width:100%;max-width:500px;height:100dvh;max-height:100dvh;margin:auto;border-radius:0;box-shadow:none}.consume-dialog .dialog-head{padding:23px 20px}.consume-dialog .dialog-body{padding:0 18px 30px}.consume-dialog .dialog-head h2{font-size:21px}.consume-form{gap:20px}.consume-form .form-actions{padding-top:5px}.demo-bar{margin-top:4px}.reader.view-home .demo-bar{background:#fafcf6;padding-bottom:5px}.record-filters{gap:6px}.legal{overflow-wrap:anywhere}}
