@font-face{font-family:local;src:local('Microsoft YaHei')}*{box-sizing:border-box}body{margin:0;background:#f4f1e8;color:#253d33;font:15px/1.65 local,'Noto Sans SC',system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:13px;padding:11px 17px;background:#294d3b;color:#fff;font-weight:650}button:hover{filter:brightness(.95)}button:disabled{opacity:.55;cursor:wait}button.secondary{background:#e9e9dc;color:#294d3b}button.ghost{background:transparent;color:#577060;border:1px solid #d6dcce}button.danger{background:#a04732}a{color:#356d52}input,textarea,select{width:100%;border:1px solid #d8ddce;border-radius:11px;padding:10px 12px;background:#fffef9;color:#263e32;min-height:45px}input:focus,textarea:focus,select:focus{outline:2px solid #aecca9;outline-offset:1px}textarea{resize:vertical;min-height:94px}label{display:block;font-size:13px;color:#516750;margin:10px 0 5px;font-weight:600}h1,h2,h3,p{margin:0 0 12px}h1{font-size:29px;line-height:1.3;letter-spacing:-.7px}h2{font-size:21px}h3{font-size:16px}.shell{max-width:1080px;margin:auto;padding:25px 24px 115px}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px}.brand{display:flex;gap:12px;align-items:center}.brand img{width:45px;height:45px}.brand b{display:block;font-size:21px;letter-spacing:2px}.eyebrow{font-size:11px;letter-spacing:2px;color:#8b7453;text-transform:uppercase}.muted{color:#768171;font-size:13px}.hero{background:#263f32;color:#f8f4e9;padding:30px;border-radius:24px;display:grid;grid-template-columns:1fr auto;gap:20px;margin-bottom:20px}.hero p{color:#d0d8c5;max-width:600px}.hero .muted{color:#bdcbb5}.hero-num{font-size:58px;font-weight:750;line-height:1}.hero small{display:block;color:#c9d5be}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.card,.panel{background:#fffdf7;border:1px solid #e1e3d6;border-radius:18px;padding:21px;box-shadow:0 3px 10px #23392304}.card{cursor:pointer;transition:transform .16s}.card:hover{transform:translateY(-2px);border-color:#9aaf91}.card h3{font-size:19px;line-height:1.4;margin:13px 0 8px}.card-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#efe6d4;color:#805b32;font-size:23px}.tag{display:inline-block;padding:3px 9px;background:#eef1e5;color:#597347;border-radius:7px;font-size:11px;white-space:nowrap}.tag.amber{background:#f8edce;color:#906d23}.tag.gray{background:#eeede8;color:#79776d}.toolbar{display:flex;gap:10px;margin:20px 0}.toolbar input{flex:1}.toolbar select{max-width:165px}.panel{margin:15px 0}.note{background:#f3eedf;border-left:3px solid #b49a65;border-radius:3px 10px 10px 3px;padding:13px 15px;color:#786546;font-size:13px;margin:15px 0}.steps{padding-left:24px;margin:0}.steps li{padding:5px 0 8px 7px}.steps li::marker{color:#719065;font-weight:700}.science{border-left:3px solid #8ba87e;padding:5px 14px;margin:9px 0;color:#4e6547}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}td,th{padding:10px 8px;border-bottom:1px solid #e8e9df;text-align:left;font-size:14px}th{font-size:12px;color:#78816e;background:#f6f5ee}td.num{font-variant-numeric:tabular-nums;text-align:right;font-weight:650;color:#3d6c43}.ingredients input{min-width:80px;padding:8px}.ingredients td:first-child{min-width:105px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:16px}.compact{max-width:150px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.nav{position:fixed;bottom:0;left:0;right:0;background:#fffef8f5;border-top:1px solid #dde2d1;padding:9px 18px calc(9px + env(safe-area-inset-bottom));display:flex;justify-content:center;gap:4px;z-index:9;backdrop-filter:blur(10px)}.nav button{max-width:180px;flex:1;border-radius:12px;background:transparent;color:#7d866f;font-size:12px;padding:7px 10px}.nav button.active{background:#e9eedf;color:#2d5535}.nav span{display:block;font-size:20px;line-height:1.3;margin-bottom:2px}.empty{text-align:center;padding:45px 20px;color:#78846d}.lock-screen{max-width:420px;margin:9vh auto;padding:30px 24px}.lock-logo{width:75px;height:75px;margin-bottom:24px}.lock-screen .panel{padding:26px}.lock-screen button{width:100%;margin-top:15px}.lock-screen h1{font-size:34px}.error{color:#a74630;font-size:13px;margin:10px 0}.photos{display:flex;gap:12px;overflow:auto;margin:15px 0}.photos figure{margin:0;position:relative;flex:0 0 130px}.photos img{width:130px;height:130px;border-radius:12px;object-fit:cover}.photos button{font-size:11px;padding:4px 8px}.score{font-size:25px;letter-spacing:5px;color:#b8843f}.score button{font-size:25px;background:none;color:#b8843f;padding:3px 4px}.record-title{margin-bottom:6px}.record-detail{white-space:pre-wrap;overflow-wrap:anywhere}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:15px}.comparison .panel{min-width:0}.change{background:#fff1cd}.hidden{display:none!important}#toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);max-width:90%;background:#233d32;color:white;padding:12px 20px;border-radius:12px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}.status-dot{display:inline-block;width:7px;height:7px;background:#759767;border-radius:50%;margin-right:5px}.small{font-size:12px}.wide{width:100%}.section-gap{margin-top:25px}.link-button{display:inline-block;padding:10px 15px;border-radius:12px;background:#e5eadb;text-decoration:none}details summary{cursor:pointer;font-weight:650}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:20px;min-height:20px}.sticky-actions{position:sticky;bottom:77px;background:#fffdf8ed;border:1px solid #dce2d2;padding:10px;border-radius:13px;backdrop-filter:blur(9px)}.save-state{font-size:11px;color:#7a866b}
@media(max-width:760px){.shell{padding:18px 15px 105px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{padding:16px}.card h3{font-size:17px}.hero{padding:23px 20px}.hero h1{font-size:25px}.hero-num{font-size:43px}.twocol{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.toolbar input{min-width:170px}.panel{padding:18px}.comparison{grid-template-columns:1fr}.brand b{font-size:19px}h1{font-size:25px}.table-wrap{margin:0 -6px}.top{margin-bottom:18px}}
@media(max-width:370px){.grid{grid-template-columns:1fr}.hero-num{display:none}}
