/* 共用样式：修改颜色变量即可调整整体主题。以手机宽度为主，电脑上居中。 */
:root{
  --green:#16744c;
  --green-dark:#105539;
  --mint:#edf7ef;
  --ink:#202e29;
  --muted:#727b75;
  --paper:#f7f8f4;
  --line:#e7ece5}
  *{
    box-sizing:border-box}
    html{
      font-size:16px;
      scroll-behavior:smooth}
      body{
        margin:0;
        background:#e9eeea;
        color:var(--ink);
        font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
        line-height:1.6}
        a{
          color:inherit;
          text-decoration:none}
          button,input,textarea{
            font:inherit}
            button{
              cursor:pointer;
              border:0}
              button,a,input,textarea{
                -webkit-tap-highlight-color:transparent}
                button:focus-visible,a:focus-visible,textarea:focus-visible{
                  outline:3px solid #72ac87;
                  outline-offset:4px}
                  h1,h2,h3,p{
                    margin:0}
                    img{
                      display:block;
                      width:100%;
                      object-fit:cover}
                      .app-shell{
                        width:100%;
                        max-width:430px;
                        min-height:100dvh;
                        margin:auto;
                        background:var(--paper);
                        box-shadow:0 0 60px #2443340d}
                        .page-content{
                          padding:0 22px calc(110px + env(safe-area-inset-bottom))}
                          .home-header{
                            padding:20px 22px 18px;
                            display:flex;
                            align-items:center;
                            justify-content:space-between;
                            gap:12px}
                            .brand{
                              display:flex;
                              align-items:center;
                              gap:10px}
                              .brand-mark{
                                display:grid;
                                place-items:center;
                                width:40px;
                                height:40px;
                                border-radius:14px 14px 14px 5px;
                                color:white;
                                background:var(--green);
                                font-size:23px;
                                font-weight:700}
                                .brand strong{
                                  display:block;
                                  font-size:20px;
                                  letter-spacing:1px;
                                  line-height:1.3}
                                  .brand small{
                                    display:block;
                                    font-size:12px;
                                    color:var(--muted);
                                    margin-top:3px}
                                    .header-note{
                                      font-size:12px;
                                      color:#838b81}
                                      .decision-area{
                                        padding:6px 0 16px;
                                        border-bottom:1px solid var(--line)}
                                        .eyebrow{
                                          font-size:13px;
                                          color:var(--green);
                                          letter-spacing:1px;
                                          margin-bottom:6px}
                                          .sparkle{
                                            margin-right:5px}
                                            h1{
                                              font-size:34px;
                                              letter-spacing:-1px;
                                              line-height:1.4}
                                              .green{
                                                color:var(--green)}
                                                .intro{
                                                  margin:5px 0 14px;
                                                  font-size:14px;
                                                  color:var(--muted)}
                                                  .ai-entry{
                                                    display:flex;
                                                    align-items:center;
                                                    gap:11px;
                                                    min-height:58px;
                                                    padding:11px 14px;
                                                    background:white;
                                                    border:1px solid #d6e5d7;
                                                    border-radius:18px;
                                                    box-shadow:0 5px 18px #23473306;
                                                    font-size:14px;
                                                    color:#7c8780}
                                                    .entry-icon{
                                                      color:var(--green);
                                                      font-size:25px}
                                                      .entry-send{
                                                        margin-left:auto;
                                                        width:30px;
                                                        height:30px;
                                                        flex-shrink:0;
                                                        display:grid;
                                                        place-items:center;
                                                        border-radius:10px;
                                                        background:var(--green);
                                                        color:white;
                                                        font-size:21px}
                                                        .quick-options{
                                                          display:flex;
                                                          gap:7px;
                                                          flex-wrap:wrap;
                                                          margin-top:10px}
                                                          .chip{
                                                            min-height:38px;
                                                            padding:7px 12px;
                                                            font-size:13px;
                                                            border-radius:30px;
                                                            background:#fff;
                                                            border:1px solid #e1e7de;
                                                            color:#4b5a50;
                                                            transition:background .15s}
                                                            .chip[aria-pressed="true"]{
                                                              color:var(--green-dark);
                                                              background:#dcefe1;
                                                              border-color:#6fa381}
                                                              .preference-status{
                                                                margin-top:8px;
                                                                font-size:12px;
                                                                color:var(--muted);
                                                                min-height:20px}
                                                                .section-heading{
                                                                  display:flex;
                                                                  align-items:center;
                                                                  justify-content:space-between;
                                                                  gap:12px;
                                                                  margin:18px 0 13px}
                                                                  h2{
                                                                    font-size:20px;
                                                                    letter-spacing:-.3px}
                                                                    .section-kicker{
                                                                      font-size:11px;
                                                                      letter-spacing:2px;
                                                                      color:var(--muted);
                                                                      display:block;
                                                                      margin-bottom:2px}
                                                                      .small-badge{
                                                                        display:inline-block;
                                                                        vertical-align:middle;
                                                                        font-size:11px;
                                                                        font-weight:400;
                                                                        color:#6f786e;
                                                                        background:#e9eee6;
                                                                        padding:2px 6px;
                                                                        border-radius:5px;
                                                                        letter-spacing:0}
                                                                        .text-button{
                                                                          min-height:44px;
                                                                          background:transparent;
                                                                          color:var(--green);
                                                                          padding:5px 0 5px 10px;
                                                                          font-size:13px;
                                                                          flex-shrink:0}
                                                                          #refresh-icon{
                                                                            display:inline-block;
                                                                            font-size:20px;
                                                                            vertical-align:middle;
                                                                            line-height:1}
                                                                            .muted{
                                                                              color:var(--muted)}
                                                                              .recommendations{
                                                                                display:grid;
                                                                                gap:16px}
                                                                                .dish-card{
                                                                                  overflow:hidden;
                                                                                  border-radius:20px;
                                                                                  background:white;
                                                                                  border:1px solid #e9eee7;
                                                                                  box-shadow:0 4px 15px #24433405}
                                                                                  .dish-image-wrap{
                                                                                    position:relative}
                                                                                    .dish-image{
                                                                                      height:120px}
                                                                                      .image-badge{
                                                                                        position:absolute;
                                                                                        left:13px;
                                                                                        top:13px;
                                                                                        border-radius:7px;
                                                                                        padding:4px 9px;
                                                                                        background:#ffffffdd;
                                                                                        font-size:11px;
                                                                                        color:#5e694f}
                                                                                        .favorite-button{
                                                                                          display:flex;
                                                                                          align-items:center;
                                                                                          justify-content:center;
                                                                                          min-width:42px;
                                                                                          height:42px;
                                                                                          padding:9px;
                                                                                          border-radius:50%;
                                                                                          color:#637063;
                                                                                          background:#ffffffed}
                                                                                          .dish-image-wrap .favorite-button{
                                                                                            position:absolute;
                                                                                            right:12px;
                                                                                            top:12px}
                                                                                            .favorite-button svg{
                                                                                              width:22px;
                                                                                              height:22px;
                                                                                              flex-shrink:0}
                                                                                              .favorite-button[aria-pressed="true"]{
                                                                                                color:var(--green);
                                                                                                background:#e4f3e7}
                                                                                                .favorite-button[aria-pressed="true"] svg{
                                                                                                  fill:currentColor}
                                                                                                  .dish-card-content{
                                                                                                    padding:14px}
                                                                                                    .dish-title-row{
                                                                                                      display:flex;
                                                                                                      align-items:baseline;
                                                                                                      justify-content:space-between;
                                                                                                      gap:12px}
                                                                                                      h3{
                                                                                                        font-size:19px;
                                                                                                        line-height:1.5}
                                                                                                        .price{
                                                                                                          font-size:23px;
                                                                                                          font-weight:750;
                                                                                                          color:var(--green);
                                                                                                          white-space:nowrap;
                                                                                                          font-variant-numeric:tabular-nums}
                                                                                                          .price small{
                                                                                                            font-size:13px;
                                                                                                            font-weight:500;
                                                                                                            margin-left:3px}
                                                                                                            .dish-meta{
                                                                                                              display:flex;
                                                                                                              gap:7px;
                                                                                                              flex-wrap:wrap;
                                                                                                              align-items:center;
                                                                                                              margin-top:6px;
                                                                                                              font-size:12px;
                                                                                                              color:var(--muted)}
                                                                                                              .tag{
                                                                                                                background:#f4f3ed;
                                                                                                                color:#797052;
                                                                                                                border-radius:5px;
                                                                                                                padding:1px 7px}
                                                                                                                .location{
                                                                                                                  margin-left:auto;
                                                                                                                  display:flex;
                                                                                                                  align-items:center;
                                                                                                                  gap:3px}
                                                                                                                  .location svg{
                                                                                                                    width:13px;
                                                                                                                    height:13px}
                                                                                                                    .reason-box{
                                                                                                                      background:var(--mint);
                                                                                                                      border:1px solid #e0efdf;
                                                                                                                      border-radius:12px;
                                                                                                                      padding:11px 12px;
                                                                                                                      margin-top:13px}
                                                                                                                      .reason-label{
                                                                                                                        display:flex;
                                                                                                                        align-items:center;
                                                                                                                        gap:5px;
                                                                                                                        font-size:12px;
                                                                                                                        font-weight:650;
                                                                                                                        color:var(--green);
                                                                                                                        margin-bottom:4px}
                                                                                                                        .reason-box p{
                                                                                                                          font-size:13px;
                                                                                                                          color:#45634e;
                                                                                                                          line-height:1.7}
                                                                                                                          .detail-link{
                                                                                                                            display:block;
                                                                                                                            text-align:center;
                                                                                                                            font-size:13px;
                                                                                                                            color:#5c6b61;
                                                                                                                            padding:11px 0 0}
                                                                                                                            .discount-dot{
                                                                                                                              display:inline-block;
                                                                                                                              width:6px;
                                                                                                                              height:6px;
                                                                                                                              background:#d9934b;
                                                                                                                              border-radius:50%;
                                                                                                                              vertical-align:middle;
                                                                                                                              margin-left:3px}
                                                                                                                              .discount-list{
                                                                                                                                display:flex;
                                                                                                                                gap:12px;
                                                                                                                                overflow-x:auto;
                                                                                                                                padding-bottom:7px;
                                                                                                                                scrollbar-width:thin;
                                                                                                                                scrollbar-color:#ccd9cc transparent;
                                                                                                                                scroll-snap-type:x mandatory}
                                                                                                                                .discount-card{
                                                                                                                                  flex:0 0 155px;
                                                                                                                                  border:1px solid var(--line);
                                                                                                                                  border-radius:16px;
                                                                                                                                  overflow:hidden;
                                                                                                                                  background:white;
                                                                                                                                  scroll-snap-align:start}
                                                                                                                                  .discount-card img{
                                                                                                                                    height:90px}
                                                                                                                                    .discount-info{
                                                                                                                                      padding:10px 12px 12px}
                                                                                                                                      .discount-info h3{
                                                                                                                                        font-size:15px}
                                                                                                                                        .discount-info .price{
                                                                                                                                          font-size:20px}
                                                                                                                                          .old-price{
                                                                                                                                            font-size:11px;
                                                                                                                                            color:#8b938c}
                                                                                                                                            .discount-location{
                                                                                                                                              font-size:12px;
                                                                                                                                              color:var(--muted);
                                                                                                                                              margin-top:4px}
                                                                                                                                              .demo-note{
                                                                                                                                                text-align:center;
                                                                                                                                                color:#92988e;
                                                                                                                                                font-size:11px;
                                                                                                                                                margin:24px 0 0}
                                                                                                                                                /* 固定导航与主体同宽；安全区兼容手机底部横条。 */
                                                                                                                                                .bottom-nav{
                                                                                                                                                  position:fixed;
                                                                                                                                                  bottom:0;
                                                                                                                                                  left:50%;
                                                                                                                                                  transform:translateX(-50%);
                                                                                                                                                  width:100%;
                                                                                                                                                  max-width:430px;
                                                                                                                                                  display:grid;
                                                                                                                                                  grid-template-columns:repeat(4,1fr);
                                                                                                                                                  padding:9px 10px calc(9px + env(safe-area-inset-bottom));
                                                                                                                                                  border-top:1px solid var(--line);
                                                                                                                                                  background:#fffffffa;
                                                                                                                                                  z-index:20;
                                                                                                                                                  backdrop-filter:blur(12px)}
                                                                                                                                                  .nav-item{
                                                                                                                                                    display:flex;
                                                                                                                                                    flex-direction:column;
                                                                                                                                                    align-items:center;
                                                                                                                                                    justify-content:center;
                                                                                                                                                    gap:3px;
                                                                                                                                                    min-height:53px;
                                                                                                                                                    color:#8a938c;
                                                                                                                                                    font-size:12px;
                                                                                                                                                    border-radius:13px}
                                                                                                                                                    .nav-item svg{
                                                                                                                                                      width:23px;
                                                                                                                                                      height:23px}
                                                                                                                                                      .nav-item[aria-current="page"]{
                                                                                                                                                        color:var(--green);
                                                                                                                                                        font-weight:700}
                                                                                                                                                        .nav-item[aria-current="page"] .nav-icon{
                                                                                                                                                          background:#e8f3e7;
                                                                                                                                                          border-radius:9px}
                                                                                                                                                          .nav-icon{
                                                                                                                                                            padding:3px 10px;
                                                                                                                                                            height:29px}
                                                                                                                                                            .toast{
                                                                                                                                                              position:fixed;
                                                                                                                                                              left:50%;
                                                                                                                                                              bottom:calc(94px + env(safe-area-inset-bottom));
                                                                                                                                                              transform:translateX(-50%);
                                                                                                                                                              max-width:calc(100vw - 40px);
                                                                                                                                                              width:max-content;
                                                                                                                                                              background:#243a30;
                                                                                                                                                              color:white;
                                                                                                                                                              padding:10px 17px;
                                                                                                                                                              font-size:14px;
                                                                                                                                                              border-radius:12px;
                                                                                                                                                              z-index:30;
                                                                                                                                                              opacity:0;
                                                                                                                                                              visibility:hidden;
                                                                                                                                                              pointer-events:none;
                                                                                                                                                              text-align:center}
                                                                                                                                                              .toast.visible{
                                                                                                                                                                opacity:1;
                                                                                                                                                                visibility:visible}
                                                                                                                                                                .page-header{
                                                                                                                                                                  padding:32px 22px 25px}
                                                                                                                                                                  .mini-brand{
                                                                                                                                                                    font-size:13px;
                                                                                                                                                                    color:var(--green);
                                                                                                                                                                    font-weight:650}
                                                                                                                                                                    .page-header h1{
                                                                                                                                                                      margin-top:7px;
                                                                                                                                                                      font-size:29px}
                                                                                                                                                                      .page-header p{
                                                                                                                                                                        font-size:14px;
                                                                                                                                                                        color:var(--muted);
                                                                                                                                                                        margin-top:7px}
                                                                                                                                                                        .canteen-list{
                                                                                                                                                                          display:grid;
                                                                                                                                                                          gap:14px}
                                                                                                                                                                          .canteen-card{
                                                                                                                                                                            display:flex;
                                                                                                                                                                            gap:17px;
                                                                                                                                                                            padding:23px 20px;
                                                                                                                                                                            align-items:center;
                                                                                                                                                                            border:1px solid var(--line);
                                                                                                                                                                            border-radius:20px;
                                                                                                                                                                            background:white}
                                                                                                                                                                            .canteen-symbol{
                                                                                                                                                                              width:72px;
                                                                                                                                                                              height:80px;
                                                                                                                                                                              flex-shrink:0;
                                                                                                                                                                              background:#e3eee0;
                                                                                                                                                                              color:var(--green);
                                                                                                                                                                              font-size:38px;
                                                                                                                                                                              font-weight:650;
                                                                                                                                                                              display:grid;
                                                                                                                                                                              place-items:center;
                                                                                                                                                                              border-radius:14px}
                                                                                                                                                                              .canteen-symbol.blue{
                                                                                                                                                                                background:#e5edf0;
                                                                                                                                                                                color:#547884}
                                                                                                                                                                                .canteen-card p{
                                                                                                                                                                                  font-size:13px;
                                                                                                                                                                                  color:var(--muted);
                                                                                                                                                                                  margin:3px 0}
                                                                                                                                                                                  .label{
                                                                                                                                                                                    font-size:11px;
                                                                                                                                                                                    color:#7b887b}
                                                                                                                                                                                    .placeholder-note{
                                                                                                                                                                                      text-align:center;
                                                                                                                                                                                      padding:42px 5px 20px}
                                                                                                                                                                                      .placeholder-note>span{
                                                                                                                                                                                        color:var(--green);
                                                                                                                                                                                        font-size:25px}
                                                                                                                                                                                        .placeholder-note h2{
                                                                                                                                                                                          font-size:18px;
                                                                                                                                                                                          margin:9px 0}
                                                                                                                                                                                          .placeholder-note p{
                                                                                                                                                                                            font-size:14px;
                                                                                                                                                                                            color:var(--muted);
                                                                                                                                                                                            line-height:1.9}
                                                                                                                                                                                            .primary-button{
                                                                                                                                                                                              display:inline-flex;
                                                                                                                                                                                              align-items:center;
                                                                                                                                                                                              justify-content:center;
                                                                                                                                                                                              min-height:44px;
                                                                                                                                                                                              padding:10px 22px;
                                                                                                                                                                                              background:var(--green);
                                                                                                                                                                                              color:white;
                                                                                                                                                                                              border-radius:12px;
                                                                                                                                                                                              margin-top:21px;
                                                                                                                                                                                              font-size:14px}
                                                                                                                                                                                              .ai-page{
                                                                                                                                                                                                display:flex;
                                                                                                                                                                                                flex-direction:column}
                                                                                                                                                                                                .ai-content{
                                                                                                                                                                                                  flex:1;
                                                                                                                                                                                                  display:flex;
                                                                                                                                                                                                  flex-direction:column;
                                                                                                                                                                                                  padding-bottom:calc(95px + env(safe-area-inset-bottom))}
                                                                                                                                                                                                  .assistant-welcome{
                                                                                                                                                                                                    padding:28px 4px 22px}
                                                                                                                                                                                                    .assistant-avatar{
                                                                                                                                                                                                      width:56px;
                                                                                                                                                                                                      height:56px;
                                                                                                                                                                                                      display:grid;
                                                                                                                                                                                                      place-items:center;
                                                                                                                                                                                                      border-radius:19px;
                                                                                                                                                                                                      background:#e3f0e0;
                                                                                                                                                                                                      color:var(--green);
                                                                                                                                                                                                      font-size:32px;
                                                                                                                                                                                                      margin-bottom:20px}
                                                                                                                                                                                                      .assistant-welcome h2{
                                                                                                                                                                                                        font-size:26px;
                                                                                                                                                                                                        line-height:1.5}
                                                                                                                                                                                                        .assistant-welcome p{
                                                                                                                                                                                                          font-size:14px;
                                                                                                                                                                                                          color:var(--muted);
                                                                                                                                                                                                          margin-top:13px}
                                                                                                                                                                                                          .assistant-chips{
                                                                                                                                                                                                            display:flex;
                                                                                                                                                                                                            flex-wrap:wrap;
                                                                                                                                                                                                            gap:10px}
                                                                                                                                                                                                            .assistant-chips .chip{
                                                                                                                                                                                                              font-size:14px;
                                                                                                                                                                                                              min-height:42px}
                                                                                                                                                                                                              .assistant-note{
                                                                                                                                                                                                                color:var(--muted);
                                                                                                                                                                                                                font-size:12px;
                                                                                                                                                                                                                line-height:1.8;
                                                                                                                                                                                                                margin:25px 0}
                                                                                                                                                                                                                .ai-composer{
                                                                                                                                                                                                                  display:flex;
                                                                                                                                                                                                                  align-items:flex-end;
                                                                                                                                                                                                                  padding:10px;
                                                                                                                                                                                                                  border:1px solid #d6e4d6;
                                                                                                                                                                                                                  background:white;
                                                                                                                                                                                                                  border-radius:17px;
                                                                                                                                                                                                                  gap:8px;
                                                                                                                                                                                                                  margin-top:auto}
                                                                                                                                                                                                                  .ai-composer textarea{
                                                                                                                                                                                                                    flex:1;
                                                                                                                                                                                                                    min-width:0;
                                                                                                                                                                                                                    width:100%;
                                                                                                                                                                                                                    background:transparent;
                                                                                                                                                                                                                    border:0;
                                                                                                                                                                                                                    resize:vertical;
                                                                                                                                                                                                                    max-height:180px;
                                                                                                                                                                                                                    padding:7px;
                                                                                                                                                                                                                    font-size:14px;
                                                                                                                                                                                                                    color:var(--ink);
                                                                                                                                                                                                                    line-height:1.5}
                                                                                                                                                                                                                    .ai-composer textarea::placeholder{
                                                                                                                                                                                                                      color:#8b958d}
                                                                                                                                                                                                                      .send-button{
                                                                                                                                                                                                                        flex-shrink:0;
                                                                                                                                                                                                                        border-radius:11px;
                                                                                                                                                                                                                        width:42px;
                                                                                                                                                                                                                        height:42px;
                                                                                                                                                                                                                        font-size:23px;
                                                                                                                                                                                                                        background:var(--green);
                                                                                                                                                                                                                        color:white}
                                                                                                                                                                                                                        .profile-intro{
                                                                                                                                                                                                                          display:flex;
                                                                                                                                                                                                                          gap:16px;
                                                                                                                                                                                                                          align-items:center;
                                                                                                                                                                                                                          padding:12px 0 25px}
                                                                                                                                                                                                                          .profile-avatar{
                                                                                                                                                                                                                            width:64px;
                                                                                                                                                                                                                            height:64px;
                                                                                                                                                                                                                            border-radius:50%;
                                                                                                                                                                                                                            display:grid;
                                                                                                                                                                                                                            place-items:center;
                                                                                                                                                                                                                            background:#e0eddd;
                                                                                                                                                                                                                            color:var(--green);
                                                                                                                                                                                                                            font-size:29px}
                                                                                                                                                                                                                            .profile-intro p{
                                                                                                                                                                                                                              font-size:13px;
                                                                                                                                                                                                                              color:var(--muted);
                                                                                                                                                                                                                              margin-top:4px}
                                                                                                                                                                                                                              .profile-panel{
                                                                                                                                                                                                                                background:white;
                                                                                                                                                                                                                                padding:18px;
                                                                                                                                                                                                                                border-radius:18px;
                                                                                                                                                                                                                                border:1px solid var(--line);
                                                                                                                                                                                                                                margin-bottom:14px}
                                                                                                                                                                                                                                .profile-panel .section-heading{
                                                                                                                                                                                                                                  margin:0 0 10px}
                                                                                                                                                                                                                                  .profile-panel h2{
                                                                                                                                                                                                                                    font-size:18px}
                                                                                                                                                                                                                                    .profile-panel>p,.empty-message{
                                                                                                                                                                                                                                      color:var(--muted);
                                                                                                                                                                                                                                      font-size:14px}
                                                                                                                                                                                                                                      .count-badge{
                                                                                                                                                                                                                                        border-radius:6px;
                                                                                                                                                                                                                                        padding:1px 8px;
                                                                                                                                                                                                                                        background:var(--mint);
                                                                                                                                                                                                                                        color:var(--green);
                                                                                                                                                                                                                                        font-size:13px}
                                                                                                                                                                                                                                        .favorite-row{
                                                                                                                                                                                                                                          display:flex;
                                                                                                                                                                                                                                          align-items:center;
                                                                                                                                                                                                                                          gap:12px;
                                                                                                                                                                                                                                          padding:12px 0;
                                                                                                                                                                                                                                          border-top:1px solid var(--line)}
                                                                                                                                                                                                                                          .favorite-row a{
                                                                                                                                                                                                                                            display:flex;
                                                                                                                                                                                                                                            align-items:center;
                                                                                                                                                                                                                                            gap:12px;
                                                                                                                                                                                                                                            flex:1;
                                                                                                                                                                                                                                            min-width:0}
                                                                                                                                                                                                                                            .favorite-row img{
                                                                                                                                                                                                                                              width:58px;
                                                                                                                                                                                                                                              height:58px;
                                                                                                                                                                                                                                              border-radius:12px}
                                                                                                                                                                                                                                              .favorite-row h3{
                                                                                                                                                                                                                                                font-size:15px}
                                                                                                                                                                                                                                                .favorite-row p{
                                                                                                                                                                                                                                                  font-size:12px;
                                                                                                                                                                                                                                                  color:var(--muted)}
                                                                                                                                                                                                                                                  .detail-header{
                                                                                                                                                                                                                                                    display:flex;
                                                                                                                                                                                                                                                    align-items:center;
                                                                                                                                                                                                                                                    justify-content:space-between;
                                                                                                                                                                                                                                                    gap:7px;
                                                                                                                                                                                                                                                    padding:16px 20px;
                                                                                                                                                                                                                                                    font-size:14px;
                                                                                                                                                                                                                                                    border-bottom:1px solid var(--line);
                                                                                                                                                                                                                                                    background:white}
                                                                                                                                                                                                                                                    .back-link{
                                                                                                                                                                                                                                                      display:flex;
                                                                                                                                                                                                                                                      align-items:center;
                                                                                                                                                                                                                                                      gap:5px;
                                                                                                                                                                                                                                                      min-height:40px;
                                                                                                                                                                                                                                                      color:#57655b;
                                                                                                                                                                                                                                                      font-size:13px}
                                                                                                                                                                                                                                                      .back-link span{
                                                                                                                                                                                                                                                        font-size:28px}
                                                                                                                                                                                                                                                        .detail-content{
                                                                                                                                                                                                                                                          padding-top:20px}
                                                                                                                                                                                                                                                          .detail-image{
                                                                                                                                                                                                                                                            border-radius:22px;
                                                                                                                                                                                                                                                            height:220px}
                                                                                                                                                                                                                                                            .detail-title{
                                                                                                                                                                                                                                                              margin-top:20px}
                                                                                                                                                                                                                                                              .detail-title h1{
                                                                                                                                                                                                                                                                font-size:28px}
                                                                                                                                                                                                                                                                .detail-title .price{
                                                                                                                                                                                                                                                                  font-size:30px}
                                                                                                                                                                                                                                                                  .detail-tags{
                                                                                                                                                                                                                                                                    margin:8px 0 23px;
                                                                                                                                                                                                                                                                    display:flex;
                                                                                                                                                                                                                                                                    gap:8px;
                                                                                                                                                                                                                                                                    flex-wrap:wrap;
                                                                                                                                                                                                                                                                    font-size:13px}
                                                                                                                                                                                                                                                                    .detail-location{
                                                                                                                                                                                                                                                                      background:white;
                                                                                                                                                                                                                                                                      border:1px solid var(--line);
                                                                                                                                                                                                                                                                      border-radius:16px;
                                                                                                                                                                                                                                                                      padding:7px 16px}
                                                                                                                                                                                                                                                                      .detail-location div{
                                                                                                                                                                                                                                                                        display:flex;
                                                                                                                                                                                                                                                                        justify-content:space-between;
                                                                                                                                                                                                                                                                        gap:10px;
                                                                                                                                                                                                                                                                        padding:12px 0;
                                                                                                                                                                                                                                                                        font-size:14px}
                                                                                                                                                                                                                                                                        .detail-location div+div{
                                                                                                                                                                                                                                                                          border-top:1px solid var(--line)}
                                                                                                                                                                                                                                                                          .detail-location dt{
                                                                                                                                                                                                                                                                            color:var(--muted);
                                                                                                                                                                                                                                                                            flex-shrink:0}
                                                                                                                                                                                                                                                                            .detail-location dd{
                                                                                                                                                                                                                                                                              margin:0;
                                                                                                                                                                                                                                                                              text-align:right}
                                                                                                                                                                                                                                                                              .detail-reason{
                                                                                                                                                                                                                                                                                margin:22px 0;
                                                                                                                                                                                                                                                                                padding:18px;
                                                                                                                                                                                                                                                                                border-radius:18px}
                                                                                                                                                                                                                                                                                .detail-reason .reason-label{
                                                                                                                                                                                                                                                                                  font-size:16px;
                                                                                                                                                                                                                                                                                  margin-bottom:10px}
                                                                                                                                                                                                                                                                                  .detail-reason p{
                                                                                                                                                                                                                                                                                    font-size:15px;
                                                                                                                                                                                                                                                                                    line-height:1.9}
                                                                                                                                                                                                                                                                                    .detail-favorite{
                                                                                                                                                                                                                                                                                      width:100%;
                                                                                                                                                                                                                                                                                      gap:9px;
                                                                                                                                                                                                                                                                                      min-height:50px;
                                                                                                                                                                                                                                                                                      border-radius:14px;
                                                                                                                                                                                                                                                                                      background:var(--green);
                                                                                                                                                                                                                                                                                      color:white;
                                                                                                                                                                                                                                                                                      font-size:15px}
                                                                                                                                                                                                                                                                                      .detail-favorite[aria-pressed="true"]{
                                                                                                                                                                                                                                                                                        background:#dfeddf;
                                                                                                                                                                                                                                                                                        color:var(--green)}
                                                                                                                                                                                                                                                                                        .sr-only{
                                                                                                                                                                                                                                                                                          position:absolute;
                                                                                                                                                                                                                                                                                          width:1px;
                                                                                                                                                                                                                                                                                          height:1px;
                                                                                                                                                                                                                                                                                          padding:0;
                                                                                                                                                                                                                                                                                          margin:-1px;
                                                                                                                                                                                                                                                                                          overflow:hidden;
                                                                                                                                                                                                                                                                                          clip:rect(0,0,0,0);
                                                                                                                                                                                                                                                                                          white-space:nowrap;
                                                                                                                                                                                                                                                                                          border:0}
                                                                                                                                                                                                                                                                                          @media(max-width:375px){
                                                                                                                                                                                                                                                                                            .page-content{
                                                                                                                                                                                                                                                                                              padding-left:18px;
                                                                                                                                                                                                                                                                                              padding-right:18px}
                                                                                                                                                                                                                                                                                              .home-header{
                                                                                                                                                                                                                                                                                                padding-left:18px;
                                                                                                                                                                                                                                                                                                padding-right:18px}
                                                                                                                                                                                                                                                                                                .header-note{
                                                                                                                                                                                                                                                                                                  display:none}
                                                                                                                                                                                                                                                                                                  .quick-options{
                                                                                                                                                                                                                                                                                                    gap:6px}
                                                                                                                                                                                                                                                                                                    .quick-options .chip{
                                                                                                                                                                                                                                                                                                      padding:7px 10px}
                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                    @media(min-width:600px){
                                                                                                                                                                                                                                                                                                      body{
                                                                                                                                                                                                                                                                                                        padding-top:24px}
                                                                                                                                                                                                                                                                                                        .app-shell{
                                                                                                                                                                                                                                                                                                          border-radius:26px 26px 0 0;
                                                                                                                                                                                                                                                                                                          overflow:hidden;
                                                                                                                                                                                                                                                                                                          min-height:calc(100dvh - 24px)}
                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                        @media(prefers-reduced-motion:reduce){
                                                                                                                                                                                                                                                                                                          html{
                                                                                                                                                                                                                                                                                                            scroll-behavior:auto}
                                                                                                                                                                                                                                                                                                            *{
                                                                                                                                                                                                                                                                                                              transition:none!important}
                                                                                                                                                                                                                                                                                                            }

/* 第二轮只收紧推荐区域：保留原主题和卡片结构，减少图片占用首屏。 */
.home-content .dish-image {
  height: 64px;
}
.home-content .recommend-section .section-heading {
  margin-top: 14px;
  margin-bottom: 7px;
}
.home-content .dish-card-content {
  padding: 10px 14px;
}
.home-content .reason-box {
  margin-top: 9px;
}
.recommendation-status {
  font-size: 12px;
  color: var(--muted);
  margin: 0 0 10px;
  line-height: 1.6;
}
.ai-content .recommend-section {
  margin-bottom: 22px;
}
.ai-content .dish-image {
  height: 80px;
}

/* 核心流程调整：首页提交按钮、AI初始/结果两种状态、结构化理由。 */
[hidden] { display: none !important; }
.recommend-button { width: 100%; font-size: 16px; font-weight: 650; margin-top: 14px; min-height: 48px; }
.requirements-summary { padding: 15px 0 18px; }
.requirements-summary h2 { font-size: 16px; margin-bottom: 10px; }
.requirement-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.requirement-tag { padding: 6px 12px; border-radius: 24px; background: #dcefe1; color: var(--green-dark); font-size: 14px; }
.results-intro { font-size: 18px; line-height: 1.6; margin-bottom: 12px; }
.batch-button { display: flex; width: 100%; }
.return-home { display: block; text-align: center; color: var(--green); font-size: 14px; padding: 15px 0 0; }
.reason-details { list-style: none; padding: 0; margin: 8px 0 0; }
.reason-details li { display: grid; grid-template-columns: 4.5em minmax(0, 1fr); gap: 8px; margin-top: 7px; font-size: 13px; color: #45634e; line-height: 1.7; }
.reason-details strong { font-size: 12px; font-weight: 600; color: var(--green); }
.detail-reason .reason-details li { font-size: 14px; }
.home-content .reason-details li { font-size: 12px; margin-top: 5px; }
.ai-content #ai-followup { margin-top: 0; margin-bottom: 10px; }
.ai-content .ai-composer { margin-top: auto; }

/* 文字需求保留原文，不通过关键词推断；资料与推荐依据分区。 */
.ai-entry textarea { width: 100%; min-width: 0; resize: vertical; border: 0; background: transparent; color: var(--ink); font-size: 14px; line-height: 1.6; padding: 5px 0; }
.ai-entry textarea::placeholder { color: #7c8780; }
.original-request { margin: 0 0 14px; padding: 12px 14px; border-left: 3px solid var(--green); border-radius: 0 10px 10px 0; background: white; font-size: 15px; white-space: pre-wrap; overflow-wrap: anywhere; }
.selected-label { color: var(--muted); font-size: 13px; margin: 0 0 8px; }
.request-notice { padding: 14px; margin: 0 0 14px; border-radius: 12px; background: #edf2e8; font-size: 14px; color: #4d6054; }
.tag-only-notice { color: var(--green); font-size: 13px; margin: 0 0 12px; }
.dish-info { margin-top: 12px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fafbf8; }
.dish-info h4 { font-size: 13px; font-weight: 600; color: #5a685f; margin: 0 0 6px; }
.dish-info dl { margin: 0; }
.dish-info dl div { display: grid; grid-template-columns: 3em minmax(0, 1fr); gap: 8px; font-size: 13px; line-height: 1.7; margin-top: 3px; }
.dish-info dt { color: var(--muted); }
.dish-info dd { margin: 0; overflow-wrap: anywhere; }
.missing-info { color: #92988e; }

/* 临时连接测试，仅放在首页底部。 */
.backend-test { margin-top: 22px; text-align: center; }
.backend-test p { font-size: 14px; color: var(--green); margin-top: 8px; }
.backend-test button:disabled { cursor: wait; opacity: .6; }
.quick-options .chip:disabled, .assistant-chips .chip:disabled { cursor: not-allowed; opacity: .55; }

/* 后端示例单独显示，不改变推荐卡片样式。 */
.backend-dishes-note { font-size: 12px; color: var(--muted); margin: -3px 0 8px; }
.backend-dishes-list { display: grid; gap: 10px; }
.backend-dish-card { padding: 14px; border-radius: 16px; border: 1px solid var(--line); background: white; }
.backend-dish-card h3 { font-size: 17px; }
.backend-dish-card p { font-size: 12px; color: var(--muted); margin-top: 4px; }
.backend-dishes button:disabled { opacity: .6; cursor: wait; }

/* 校园地图沿用原主题；只影响食堂页，不隐藏地图服务的版权标识。 */
.campus-map-section { margin-bottom: 22px; }
.campus-map-section .section-heading { margin-top: 0; margin-bottom: 12px; }
.map-scope { font-size: 12px; color: var(--muted); }
.campus-switch { display: flex; gap: 8px; margin-bottom: 12px; }
.campus-switch .chip { flex: 1; }
.campus-switch [aria-pressed="true"] { background: var(--green); color: white; border-color: var(--green); }
.campus-map-frame { position: relative; height: 320px; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: #edf2e9; }
.campus-map { width: 100%; height: 100%; }
.map-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; text-align: center; padding: 24px; }
.map-placeholder > span { font-size: 36px; color: #6a977a; }
.map-placeholder h3 { font-size: 17px; }
.map-placeholder p { font-size: 13px; color: var(--muted); line-height: 1.8; }
.map-status { font-size: 13px; color: #526559; margin: 10px 0; min-height: 2em; overflow-wrap: anywhere; }
.map-actions { display: grid; grid-template-columns: 1fr 1.5fr; gap: 10px; }
.map-actions button { min-height: 46px; border-radius: 13px; margin: 0; }
.map-locate { background: white; border: 1px solid var(--line); color: var(--green); }
.map-actions button:disabled { cursor: default; opacity: .45; }
.map-note { font-size: 12px; color: var(--muted); line-height: 1.7; margin: 10px 0; }
.map-canteen-card { width: 100%; min-width: 0; text-align: left; color: var(--ink); }
.map-canteen-card > span:last-child { min-width: 0; }
.map-canteen-card strong { display: block; font-size: 17px; overflow-wrap: anywhere; }
.map-canteen-detail { display: block; font-size: 12px; color: var(--muted); }
.map-canteen-card[aria-pressed="true"] { outline: 2px solid #72ac87; outline-offset: -2px; }
.campus-map-pin { display: block; max-width: 170px; padding: 7px 10px; border-radius: 11px; background: var(--green); color: white; border: 2px solid white; font-size: 12px; box-shadow: 0 2px 8px #153d2420; overflow-wrap: anywhere; }
.campus-location-dot { display: block; width: 16px; height: 16px; background: #4c8aca; border: 3px solid white; border-radius: 50%; box-shadow: 0 0 0 3px #4c8aca30; }
.walking-result { background: white; border: 1px solid var(--line); border-radius: 15px; padding: 14px; margin-top: 12px; }
.walking-result h3 { font-size: 16px; }
.walking-result > p { font-size: 13px; color: var(--muted); }
.walking-result ol { padding-left: 22px; font-size: 13px; line-height: 1.8; margin-bottom: 0; }
.walking-result li { margin-top: 6px; overflow-wrap: anywhere; }

/* 新条件沿用胶囊按钮，更多选项收起以保留首页核心流程。 */
.more-preferences { margin-top: 10px; }
.more-preferences summary { color: var(--green); font-size: 13px; cursor: pointer; }
.more-preferences .quick-options { margin-top: 10px; }
.more-preferences .assistant-note { margin-top: 9px; margin-bottom: 0; }
.dish-store { color: var(--muted); font-size: 12px; margin-top: 5px; }
.nutrition-info { padding: 11px 12px; margin-top: 10px; border-radius: 12px; background: #f3f0e7; border: 1px solid #e6deca; }
.nutrition-info h4 { font-size: 13px; color: #756238; margin: 0 0 7px; }
.nutrition-info p { font-size: 12px; line-height: 1.7; margin: 7px 0 0; overflow-wrap: anywhere; }
.nutrition-info .nutrition-caution { color: #80765e; font-size: 11px; }
.nutrition-categories { display: flex; flex-wrap: wrap; gap: 5px; }

/* 区域选择沿用绿色、圆角风格；dialog自动限制背景点击和键盘焦点。 */
.meal-area-row { margin: 10px 0 14px; }
.meal-area-button { color: var(--green); background: var(--mint); border-color: #d5e8d9; font-size: 12px; }
body.meal-area-open { overflow: hidden; }
.meal-area-dialog { width: min(360px, calc(100% - 36px)); padding: 28px 24px 22px; border: 0; border-radius: 24px; color: var(--ink); background: #fff; box-shadow: 0 20px 60px #122e2033; max-height: calc(100dvh - 40px); overflow-y: auto; }
.meal-area-dialog::backdrop { background: #17332966; }
.meal-area-mark { display: inline-grid; place-items: center; width: 38px; height: 38px; margin-bottom: 16px; border-radius: 12px; background: var(--mint); color: var(--green); font-weight: 700; }
.meal-area-dialog h2 { font-size: 23px; line-height: 1.4; margin: 0 0 10px; }
.meal-area-dialog > p { font-size: 13px; color: var(--muted); line-height: 1.7; margin: 0; }
.meal-area-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 24px; }
.meal-area-options button { border: 1px solid #d5e8d9; border-radius: 14px; padding: 14px 4px; background: #eff7f0; color: var(--green); font-size: 15px; font-weight: 600; cursor: pointer; }
.meal-area-options button:hover, .meal-area-options button[aria-pressed="true"] { background: var(--green); color: #fff; }
.meal-area-options button:focus-visible { outline: 3px solid #83bc99; outline-offset: 3px; }
.meal-area-dialog .meal-area-error { margin-top: 14px; color: #a34834; }
.meal-area-error:empty { display: none; }
.inferred-tag { background: #f1ebdb; color: #7a683e; }
.collection-review { color: #857043; font-size: 12px; margin: 8px 0 0; line-height: 1.6; }
.data-notice { padding: 12px 14px; margin-bottom: 14px; background: #edf2e8; border-radius: 12px; color: #4d6054; }
.data-notice p { font-size: 13px; line-height: 1.7; margin: 0; }
.data-notice button { margin-top: 8px; }
.detail-header + .data-notice { margin: 0 24px 14px; }
.dish-title-row h3 { min-width: 0; overflow-wrap: anywhere; }
.dish-title-row .price { white-space: nowrap; }

/* 菜品所属区域只作资料展示，复用首页、AI卡片和详情页的同一标签。 */
.dish-area-badge { display: inline-flex; max-width: 100%; margin-top: 5px; padding: 2px 8px; border-radius: 999px; background: var(--mint); color: var(--green); font-size: 12px; line-height: 1.6; }
.dish-area-badge.area-unknown { background: #f4f3ed; color: var(--muted); }

/* 我的页面复用原有标签和面板，仅增加保存与重试的间距。 */
.profile-panel #saved-preferences { margin-top: 12px; }
.profile-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.profile-panel #preferences-status { font-size: 12px; line-height: 1.7; margin-top: 10px; color: var(--muted); }
.favorite-button:disabled, .profile-panel .chip:disabled { opacity: .5; cursor: wait; }
