.ac-icon{flex-shrink:0;display:inline-block;vertical-align:-.18em}:root{--ac-bg: #fdf8ec;--ac-bg2: #f5edda;--ac-card: #ffffff;--ac-green: #7cc98f;--ac-green-deep: #55a86b;--ac-green-soft: #e3f2e5;--ac-brown: #6b5b4c;--ac-brown-2: #8f7f6f;--ac-line: #eee3cc;--ac-blue: #8fcdEB;--ac-blue-soft: #e3f1fa;--ac-yellow: #ffd98e;--ac-yellow-soft: #fff3d6;--ac-orange: #ffa552;--ac-orange-soft: #ffe9d6;--ac-pink: #f5a8bb;--ac-pink-soft: #fde8ee;--ac-purple: #b9a7eb;--ac-purple-soft: #efeafc;--radius: 18px;--radius-s: 12px;--shadow: 0 3px 0 rgba(107, 91, 76, .08), 0 8px 24px rgba(107, 91, 76, .08);--font: "PingFang SC", "Hiragino Sans GB", "Yuanti SC", "YouYuan", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-size:16px}@media(max-width:768px){html{font-size:15px}}body{font-family:var(--font);color:var(--ac-brown);background:var(--ac-bg);background-image:radial-gradient(rgba(124,201,143,.14) 1.5px,transparent 1.5px);background-size:26px 26px;min-height:100vh;-webkit-font-smoothing:antialiased}#app{min-height:100vh}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;color:var(--ac-brown)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#dccfae;border-radius:6px}::-webkit-scrollbar-track{background:transparent}.ac-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:40px;padding:0 20px;border-radius:999px;font-size:.95rem;font-weight:700;color:#fff;background:var(--ac-green);box-shadow:0 3px 0 var(--ac-green-deep);transition:transform .08s,box-shadow .08s,filter .15s;-webkit-user-select:none;user-select:none}.ac-btn:hover{filter:brightness(1.05)}.ac-btn:active{transform:translateY(3px);box-shadow:0 0 0 var(--ac-green-deep)}.ac-btn:disabled{opacity:.55;cursor:not-allowed}.ac-btn.ghost{color:var(--ac-brown-2);background:#fff;box-shadow:0 3px #e5dbc4;border:2px solid var(--ac-line)}.ac-btn.warn{background:var(--ac-orange);box-shadow:0 3px #e07f2b}.ac-btn.warn:active{box-shadow:0 0 #e07f2b}.ac-btn.danger{background:var(--ac-pink);box-shadow:0 3px #dd7d97}.ac-btn.danger:active{box-shadow:0 0 #dd7d97}.ac-btn.blue{background:var(--ac-blue);box-shadow:0 3px #58a8cf}.ac-btn.blue:active{box-shadow:0 0 #58a8cf}.ac-btn.small{min-height:30px;padding:0 14px;font-size:.82rem}.ac-btn.block{width:100%}.ac-card{background:var(--ac-card);border:2px solid #f2e8d2;border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;position:relative}.ac-card-title{display:flex;align-items:center;gap:8px;font-size:1.05rem;font-weight:800;margin-bottom:12px;color:var(--ac-brown)}.ac-card-title:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--ac-green);box-shadow:2px 2px #fff,2px 2px #fff,inset -2px -2px #0000000f;border:2px solid var(--ac-green-deep)}.ac-field{margin-bottom:14px}.ac-label{display:block;font-size:.85rem;font-weight:700;color:var(--ac-brown-2);margin-bottom:6px}.ac-input,.ac-textarea,.ac-select{width:100%;border:2px solid var(--ac-line);border-radius:var(--radius-s);padding:10px 14px;font-size:.95rem;background:#fffdf7;outline:none;transition:border-color .15s,box-shadow .15s}.ac-input:focus,.ac-textarea:focus,.ac-select:focus{border-color:var(--ac-green);box-shadow:0 0 0 3px #7cc98f40}.ac-textarea{resize:vertical;min-height:76px;line-height:1.6}.ac-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238f7f6f' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.form-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:768px){.form-row2{grid-template-columns:1fr;gap:0}}.ac-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--ac-green-soft);color:var(--ac-green-deep);white-space:nowrap}.ac-tag.blue{background:var(--ac-blue-soft);color:#4d94bc}.ac-tag.orange{background:var(--ac-orange-soft);color:#d97e2f}.ac-tag.pink{background:var(--ac-pink-soft);color:#d46c85}.ac-tag.yellow{background:var(--ac-yellow-soft);color:#c79a3a}.ac-tag.purple{background:var(--ac-purple-soft);color:#8672c7}.ac-tag.gray{background:#f1ece1;color:var(--ac-brown-2)}.page{max-width:1200px;margin:0 auto;padding:20px 22px 90px}@media(min-width:769px){.page{padding:26px 30px 60px}}.page-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:18px}.page-title{font-size:1.5rem;font-weight:900;display:flex;align-items:center;gap:10px}.page-sub{color:var(--ac-brown-2);font-size:.88rem;margin-top:4px}.grid-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media(max-width:1024px){.grid-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.grid-cards{grid-template-columns:1fr}}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:900px){.grid-2{grid-template-columns:1fr}}.item-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:var(--radius-s);background:#fffdf7;border:2px solid #f4ecd8;transition:border-color .15s}.item-row:hover{border-color:#e5d9ba}.item-row+.item-row{margin-top:10px}.item-main{flex:1;min-width:0}.item-title{font-weight:700;font-size:.98rem;word-break:break-all}.item-desc{font-size:.83rem;color:var(--ac-brown-2);margin-top:3px;word-break:break-all;white-space:pre-wrap}.item-ops{display:flex;gap:6px;flex-shrink:0}.icon-btn{width:32px;height:32px;border-radius:50%;background:#fff;border:2px solid var(--ac-line);font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;transition:transform .1s}.icon-btn:active{transform:scale(.9)}.ac-check{width:26px;height:26px;border-radius:50%;border:2.5px solid #d8ccae;background:#fff;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;transition:all .15s;margin-top:2px}.ac-check.on{background:var(--ac-green);border-color:var(--ac-green-deep)}.ac-check .leaf{opacity:0}.ac-check.on .leaf{opacity:1;color:#fff}.done-text{text-decoration:line-through;color:#b9ac97}.ac-empty{text-align:center;padding:36px 12px;color:#b9ac97;font-size:.9rem}.ac-empty .face{display:flex;margin:0 auto 10px;color:#c9b795}.ac-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 2px;-webkit-overflow-scrolling:touch}.ac-tabs::-webkit-scrollbar{display:none}.ac-tab{flex-shrink:0;padding:8px 18px;border-radius:999px;background:#fff;border:2px solid var(--ac-line);color:var(--ac-brown-2);font-size:.9rem;font-weight:700;transition:all .15s}.ac-tab.on{background:var(--ac-green);border-color:var(--ac-green-deep);color:#fff;box-shadow:0 2px 0 var(--ac-green-deep)}.ac-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#574a3c6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}.ac-modal{background:var(--ac-bg);border:3px solid #fff;border-radius:22px;box-shadow:0 12px 40px #3c30234d;width:100%;max-width:540px;max-height:88vh;display:flex;flex-direction:column;animation:popIn .22s cubic-bezier(.34,1.56,.64,1)}@keyframes popIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.ac-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 10px;font-weight:900;font-size:1.1rem}.ac-modal-body{padding:6px 20px 8px;overflow-y:auto;-webkit-overflow-scrolling:touch}.ac-modal-foot{padding:12px 20px 18px;display:flex;gap:10px;justify-content:flex-end}@media(max-width:768px){.ac-mask{padding:0;align-items:stretch}.ac-modal{max-width:none;max-height:none;height:100%;border-radius:0;border:none;animation:slideUp .25s ease-out}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}}.ac-dialog{background:var(--ac-bg);border-radius:22px;border:3px solid #fff;box-shadow:0 12px 40px #3c30234d;padding:26px 24px 22px;width:min(360px,calc(100vw - 60px));text-align:center;animation:popIn .22s cubic-bezier(.34,1.56,.64,1)}.ac-dialog-icon{font-size:2.4rem;margin-bottom:10px}.ac-dialog-text{font-weight:700;margin-bottom:18px;line-height:1.6}.ac-dialog-btns{display:flex;gap:10px;justify-content:center}.ac-toast-host{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:300;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:max-content;max-width:calc(100vw - 40px)}.ac-toast{display:flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--ac-line);border-radius:999px;padding:9px 20px;font-size:.9rem;font-weight:700;box-shadow:var(--shadow)}.ac-toast.t-ok{border-color:#cfe9d4;color:var(--ac-green-deep)}.ac-toast.t-err{border-color:#f6d3dc;color:#d46c85}.ac-toast.t-info{color:var(--ac-brown-2)}.toast-enter-active,.toast-leave-active{transition:all .25s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(-12px)}.ac-progress{height:14px;background:#f1ead7;border-radius:999px;overflow:hidden;border:2px solid #eadfc4}.ac-progress>div{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ac-green),#a5dcb2);transition:width .4s ease}.flip-wrap{perspective:1200px}.flip-card{position:relative;width:100%;height:300px;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,.1,.2,1);cursor:pointer}.flip-card.flipped{transform:rotateY(180deg)}.flip-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius);border:3px solid #fff;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px;text-align:center}.flip-front{background:linear-gradient(160deg,#fffbef,#fdeecb)}.flip-back{background:linear-gradient(160deg,#eefaf0,#ddf1e2);transform:rotateY(180deg)}.fade-enter-active,.fade-leave-active{transition:opacity .18s}.fade-enter-from,.fade-leave-to{opacity:0}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
