.nic-mobile-only { display: none; }
@media (min-width: 721px) { #infinite-canvas-tools .nic-mobile-tool-label { display: none; } }
@media (max-width: 720px) {
  #infinite-canvas-modal {
    --cm-bg: #f8f9fb; --cm-panel: #fff; --cm-text: #202630; --cm-border: #dfe3e8; --cm-accent: #334155;
    padding: 0; top: var(--nic-mobile-top, 0px); bottom: auto;
    height: var(--nic-mobile-height, 100dvh); max-width: 100%; overflow: hidden;
  }
  body.xcg-night #infinite-canvas-modal, #infinite-canvas-modal.xcg-canvas-night {
    --cm-bg: #181d23; --cm-panel: #242a32; --cm-text: #eef2f7; --cm-border: #414953; --cm-accent: #d8b677;
  }
  #infinite-canvas-modal .nic-mobile-only { display: flex; }
  #infinite-canvas-modal .nic-mobile-only[hidden] { display: none; }
  #infinite-canvas-modal .nic-shell,
  #infinite-canvas-modal .nic-shell.has-inline-creator {
    position: relative; width: 100%; min-width: 0; height: 100%; border: 0; border-radius: 0;
    display: block; grid-template-columns: minmax(0,1fr) !important; background: var(--cm-bg);
  }
  #infinite-canvas-modal .nic-main {
    width: 100%; height: 100%; padding-bottom: calc(58px + env(safe-area-inset-bottom,0px));
    display: grid; grid-template-rows: 52px minmax(0,1fr); border: 0;
  }
  body #infinite-canvas-modal .nic-topbar.nic-topbar-compact {
    display: flex; flex-wrap: nowrap; align-items: center; gap: 4px; min-height: 52px;
    padding: 4px 8px; background: var(--cm-panel); border-bottom: 1px solid var(--cm-border); z-index: 62;
  }
  #infinite-canvas-modal .nic-topbar .nic-brand,
  #infinite-canvas-modal .nic-corner-close { display: none; }
  body #infinite-canvas-modal .nic-topbar.nic-topbar-compact .nic-actions { width: auto; flex: 0 0 auto; flex-wrap: nowrap; gap: 2px; margin: 0; }
  #infinite-canvas-modal .nic-mobile-back,
  #infinite-canvas-modal .nic-mobile-project-trigger {
    height: 44px; border: 0; border-radius: 10px; align-items: center; color: var(--cm-text); background: transparent;
  }
  #infinite-canvas-modal .nic-mobile-back { width: 40px; flex: 0 0 40px; justify-content: center; font-size: 30px; }
  #infinite-canvas-modal .nic-mobile-project-trigger {
    flex: 1; min-width: 0; display: block; text-align: left; font-size: 15px; font-weight: 650;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  #infinite-canvas-modal .nic-top-icon-btn,
  #infinite-canvas-modal .nic-more-summary { width: 44px; height: 44px; min-width: 44px; color: var(--cm-text); background: transparent; border: 0; }
  #infinite-canvas-modal .nic-viewport { min-width: 0; min-height: 0; }
  #infinite-canvas-modal #infinite-canvas-minimap { display: none; }
  #infinite-canvas-modal #nic-mobile-dock {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 64; display: grid;
    grid-template-columns: 1fr 1.3fr 1fr; gap: 8px; padding: 6px 10px calc(8px + env(safe-area-inset-bottom,0px));
    border-top: 1px solid var(--cm-border); background: var(--cm-panel);
  }
  #infinite-canvas-modal #nic-mobile-dock button,
  #infinite-canvas-modal #nic-mobile-selection button {
    min-width: 0; min-height: 44px; border: 1px solid var(--cm-border); border-radius: 12px;
    font-size: 13px; font-weight: 600; color: var(--cm-text); background: var(--cm-panel);
  }
  #infinite-canvas-modal #nic-mobile-dock .nic-mobile-create { background: var(--cm-text); color: var(--cm-panel); }
  #infinite-canvas-modal .nic-mobile-shade {
    position: absolute; inset: 52px 0 calc(58px + env(safe-area-inset-bottom,0px)); z-index: 55;
    border: 0; background: rgba(0,0,0,.22);
  }
  #infinite-canvas-modal .nic-panel {
    position: absolute; left: 0; right: 0; bottom: calc(58px + env(safe-area-inset-bottom,0px));
    width: 100%; height: min(62%, 540px); min-width: 0; min-height: 0; z-index: 60;
    display: none; border: 1px solid var(--cm-border); border-radius: 18px 18px 0 0;
    background: var(--cm-panel); color: var(--cm-text); overflow: hidden;
  }
  #infinite-canvas-modal[data-mobile-view="create"] .nic-panel,
  #infinite-canvas-modal[data-mobile-view="chat"] .nic-panel { display: flex; flex-direction: column; visibility: visible; }
  #infinite-canvas-modal.nic-mobile-expanded .nic-panel { height: calc(100% - 52px - 58px - env(safe-area-inset-bottom,0px)); }
  #infinite-canvas-modal .nic-mobile-sheet-head { flex: 0 0 48px; padding: 4px 10px 4px 16px; align-items: center; gap: 6px; border-bottom: 1px solid var(--cm-border); }
  #infinite-canvas-modal .nic-mobile-sheet-head strong { flex: 1; font-size: 14px; }
  #infinite-canvas-modal .nic-mobile-sheet-head button { min-width: 44px; height: 40px; border: 0; border-radius: 8px; color: var(--cm-text); background: transparent; font-size: 13px; }
  #infinite-canvas-modal .nic-panel > .nic-panel-head { display: none; }
  #infinite-canvas-modal[data-mobile-view="create"] .nic-panel-body { display: none; }
  #infinite-canvas-modal[data-mobile-view="chat"] .nic-composer-home { display: none; }
  #infinite-canvas-modal .nic-panel-body { min-height: 0; flex: 1; overflow: auto; padding: 12px; overscroll-behavior: contain; }
  #infinite-canvas-modal .nic-composer-home { flex: 1; min-height: 0; overflow: auto; padding: 10px; }
  #infinite-canvas-modal #infinite-canvas-composer { width: 100%; min-width: 0; margin: 0; padding: 10px; border-radius: 12px; background: var(--cm-panel); }
  #infinite-canvas-modal .nic-composer-input { font-size: 16px; width: 100%; min-height: 100px; max-height: none; color: var(--cm-text); }
  #infinite-canvas-modal.nic-mobile-expanded .nic-composer-input { min-height: 180px; }
  #infinite-canvas-modal .nic-composer-footer { display: flex; flex-wrap: wrap; gap: 8px; }
  #infinite-canvas-modal .nic-composer-options { width: 100%; display: flex; flex-wrap: nowrap; gap: 4px; min-width: 0; }
  #infinite-canvas-modal .nic-composer-pill { min-width: 0; min-height: 44px; padding: 0 8px; }
  #infinite-canvas-modal .nic-composer-pill:first-child { flex: 1; }
  #infinite-canvas-modal .nic-composer-pill span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  #infinite-canvas-modal .nic-composer-menu { position: static; width: 100%; max-width: 100%; max-height: 220px; overflow: auto; }
  #infinite-canvas-modal #nic-mobile-selection { position: absolute; left: 50%; right: auto; transform: translateX(-50%); bottom: calc(72px + env(safe-area-inset-bottom,0px)); z-index: 48; }
  #infinite-canvas-modal #nic-mobile-selection .nic-mobile-continue { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 24px; border: 1px solid #ffffff60; border-radius: 999px; background: linear-gradient(120deg,#6d28d9,#4338ca); color: #fff; font-size: 14px; font-weight: 650; white-space: nowrap; box-shadow: 0 6px 18px #5b21b645, 0 1px 3px #00000018; }
  #infinite-canvas-modal #nic-mobile-selection .nic-mobile-continue span { font-size: 20px; line-height: 1; color: #ede9fe; }
  #infinite-canvas-modal #nic-mobile-selection .nic-mobile-continue:active { transform: scale(.97); }
  #infinite-canvas-modal[data-mobile-view]:not([data-mobile-view=""]) #nic-mobile-selection { display: none; }
  #infinite-canvas-modal #infinite-canvas-projects {
    display: none; position: absolute; top: 52px; left: 0; right: 0;
    bottom: calc(58px + env(safe-area-inset-bottom,0px)); height: auto; z-index: 61;
    background: var(--cm-panel); color: var(--cm-text); overflow: auto; padding: 12px;
  }
  #infinite-canvas-modal[data-mobile-view="projects"] #infinite-canvas-projects { display: block; }
  #infinite-canvas-modal .nic-project-rail-shell { display: block; }
  #infinite-canvas-modal .nic-project-scroll-button { display: none; }
  #infinite-canvas-modal .nic-project-rail { display: flex; flex-direction: column; overflow: visible; gap: 8px; }
  #infinite-canvas-modal .nic-project-card { width: 100%; flex: 0 0 auto; min-width: 0; }
  #infinite-canvas-modal .nic-project-preview { display: none !important; }
  #infinite-canvas-modal #infinite-canvas-project-guide,
  #infinite-canvas-modal #infinite-canvas-project-guide-trigger { display: none !important; }
  #infinite-canvas-modal .nic-mobile-new-project {
    width: 100%; min-height: 44px; margin-bottom: 10px; align-items: center; justify-content: center;
    border: 1px solid var(--cm-border); border-radius: 12px; background: var(--cm-panel); color: var(--cm-text);
  }
  #infinite-canvas-modal .nic-node:not(.is-selected) .nic-node-toolbar { display: none; }
  #infinite-canvas-modal .nic-more-popover-panel {
    position: fixed; top: calc(var(--nic-mobile-top,0px) + 52px); left: auto; right: 8px;
    width: min(310px,calc(100% - 16px)); max-height: calc(var(--nic-mobile-height,100dvh) - 124px);
    overflow: auto; background: var(--cm-panel); color: var(--cm-text);
  }
  #infinite-canvas-modal .nic-more-popover-panel > * { margin-bottom: 8px; }
  #infinite-canvas-modal .nic-more-popover-panel > button { min-height: 44px; color: var(--cm-text); }
  #infinite-canvas-modal .nic-more-popover-panel .nic-search-compact { width: 100%; max-width: 100%; height: 44px; position: relative; inset: auto; }
  #infinite-canvas-modal .nic-search-compact input { font-size: 16px; width: 100%; opacity: 1; color: var(--cm-text); }
  #infinite-canvas-modal .nic-more-popover-panel .nic-zoom-actions { width: 100%; justify-content: space-between; }
  #infinite-canvas-modal .nic-more-popover-panel .nic-limit-popover-panel { position: static; width: 100%; }
  #infinite-canvas-modal #infinite-canvas-tools { position: static; display: flex; width: 100%; max-width: 100%; flex-direction: row; flex-wrap: wrap; transform: none; gap: 5px; }
  #infinite-canvas-modal #infinite-canvas-tools button { width: 44px; height: 44px; }
  #infinite-canvas-modal .nic-mobile-only button:focus-visible,
  #infinite-canvas-modal button.nic-mobile-only:focus-visible { outline: 2px solid var(--cm-accent); outline-offset: -2px; }
}
@media (max-width: 720px) {
  #infinite-canvas-modal .nic-mobile-chat { height: 40px; min-width: 44px; align-items: center; justify-content: center; border: 1px solid var(--cm-border); border-radius: 12px; background: var(--cm-bg); color: var(--cm-text); font-size: 12px; }
  #infinite-canvas-modal .nic-mobile-chat[aria-expanded="true"] { background: var(--cm-text); color: var(--cm-panel); }
  body #infinite-canvas-modal .nic-topbar.nic-topbar-compact { gap: 6px; }
  #infinite-canvas-modal .nic-mobile-back { width: 32px; flex-basis: 32px; }
  #infinite-canvas-modal .nic-mobile-project-trigger { background: var(--cm-bg); border: 1px solid var(--cm-border); padding: 0 10px; border-radius: 12px; }
  #infinite-canvas-modal #nic-mobile-dock { display: block; padding: 4px 6px calc(4px + env(safe-area-inset-bottom,0px)); box-shadow: 0 -4px 20px #00000008; }
  #infinite-canvas-modal #nic-mobile-dock #infinite-canvas-tools { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 2px; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  #infinite-canvas-modal #nic-mobile-dock #infinite-canvas-tools button { width: 100%; height: 50px; min-height: 50px; padding: 5px 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 3px; border: 0; border-radius: 10px; background: transparent; color: var(--cm-text); }
  #infinite-canvas-modal #nic-mobile-dock #infinite-canvas-tools button svg { width: 19px; height: 19px; flex-shrink: 0; }
  #infinite-canvas-modal #nic-mobile-dock #infinite-canvas-tools button.is-active { background: var(--cm-text); color: var(--cm-panel); }
  #infinite-canvas-modal #nic-mobile-dock #infinite-canvas-tools button:disabled { opacity: .3; }
  #infinite-canvas-modal #nic-mobile-dock .nic-toolbar-divider { display: none; }
  #infinite-canvas-modal .nic-mobile-tool-label { font-size: 10px; font-weight: 500; line-height: 13px; }
  #infinite-canvas-modal #infinite-canvas-composer .nic-composer-footer { position: static; display: grid; grid-template-columns: 68px minmax(0,1fr); grid-template-areas: "tools options" "send send"; gap: 10px 6px; width: 100%; min-width: 0; padding: 8px 0 0; }
  #infinite-canvas-modal #infinite-canvas-composer .nic-composer-options { grid-area: options; position: static; display: grid; grid-template-columns: minmax(0,1fr) 80px 48px; width: 100%; min-width: 0; gap: 4px; margin: 0; overflow: hidden; }
  #infinite-canvas-modal #infinite-canvas-composer .nic-composer-options > .nic-composer-pill { position: static; width: 100%; min-width: 0; max-width: none; height: 40px; min-height: 40px; max-height: 40px; padding: 0 8px; display: flex; justify-content: center; gap: 4px; overflow: hidden; border: 1px solid var(--cm-border); border-radius: 10px; background: var(--cm-bg); color: var(--cm-text); font-size: 12px; }
  #infinite-canvas-modal #infinite-canvas-composer .nic-composer-options > .nic-composer-pill > span:not(.nic-composer-model-logo) { display: block; min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  #infinite-canvas-modal #infinite-canvas-composer #infinite-canvas-mode-label,
  #infinite-canvas-modal #infinite-canvas-composer #infinite-canvas-visual-label,
  #infinite-canvas-modal #infinite-canvas-composer #infinite-canvas-output-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  #infinite-canvas-modal #infinite-canvas-composer .nic-composer-options svg { flex-shrink: 0; width: 14px; height: 14px; }
  #infinite-canvas-modal #infinite-canvas-composer .nic-composer-model-logo { display: none; }
  #infinite-canvas-modal #infinite-canvas-composer .nic-composer-toolrow { grid-area: tools; position: static; display: flex; align-items: center; gap: 4px; margin: 0; }
  #infinite-canvas-modal #infinite-canvas-composer .nic-composer-round { width: 32px; min-width: 32px; height: 40px; border-radius: 10px; background: var(--cm-bg); color: var(--cm-text); border: 1px solid var(--cm-border); box-shadow: none; }
  #infinite-canvas-modal #infinite-canvas-composer .nic-composer-options > .nic-composer-pill { padding-inline: 5px; gap: 3px; font-size: 11px; }
  #infinite-canvas-modal #infinite-canvas-composer .nic-composer-send { grid-area: send; position: static; display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; max-width: none; height: 48px; margin: 0; padding: 0 16px; gap: 8px; border-radius: 999px; background: var(--cm-text); color: var(--cm-panel); font-size: 14px; }
  #infinite-canvas-modal #infinite-canvas-composer .nic-composer-send::before { content: '发起任务'; order: 1; font-weight: 650; }
  #infinite-canvas-modal #infinite-canvas-composer .nic-composer-send > svg { order: 0; }
  #infinite-canvas-modal #infinite-canvas-composer .nic-composer-send > span { order: 2; }
  #infinite-canvas-modal #infinite-canvas-composer-menu { position: fixed; box-sizing: border-box; padding: 8px; overflow: auto; overscroll-behavior: contain; z-index: 10000; border: 1px solid var(--cm-border); border-radius: 14px; background: var(--cm-panel); color: var(--cm-text); box-shadow: 0 10px 32px #00000024; }
  #infinite-canvas-modal #infinite-canvas-composer-menu .nic-composer-menu-list { max-height: none; overflow: visible; }
  #infinite-canvas-modal #infinite-canvas-composer .nic-composer-pill.is-open { border-color: var(--cm-text); background: var(--cm-panel); }
}
