/* Existing action nodes are moved into semantic groups, not recreated.
   Base drawer geometry and palette are owned here; theme and phone overrides follow. */
#chat-view #bao-chat-quick-actions{display:grid;gap:7px;margin:8px 0}
#chat-view #bao-chat-quick-actions>button{width:100%;min-height:42px;text-align:center}
#chat-view #bao-chat-quick-actions .bao-chat-status-launch{border-color:rgba(93,214,192,.48);background:rgba(93,214,192,.09);color:#c5fff0;font-weight:700}
#chat-view #bao-chat-tool-groups{display:grid;gap:8px;min-width:0}
#chat-view #bao-chat-tool-groups>details{border:1px solid var(--yoru-card-border,rgba(241,232,218,.10));border-radius:12px;background:var(--yoru-card,#211d23);min-width:0;overflow:hidden}
#chat-view #bao-chat-tool-groups>details>summary{list-style:none;cursor:pointer;padding:11px 12px;color:var(--text);font-size:13px;font-weight:700;line-height:1.4;display:flex;justify-content:space-between;align-items:center;gap:6px}
#chat-view #bao-chat-tool-groups>details>summary::-webkit-details-marker{display:none}
#chat-view #bao-chat-tool-groups>details>summary:after{content:'⌄';font-size:16px;color:#b7bbc7;transition:transform .15s}
#chat-view #bao-chat-tool-groups>details[open]>summary:after{transform:rotate(180deg)}
#chat-view #bao-chat-tool-groups [data-chat-tool-body]{display:grid;gap:8px;padding:8px 10px 12px;border-top:1px solid var(--border);min-width:0}
#chat-view #bao-chat-tool-groups [data-chat-tool-body]>button,#chat-view #bao-chat-tool-groups [data-chat-tool-body]>a{width:100%;max-width:100%;min-height:40px;white-space:normal;text-align:left;overflow-wrap:anywhere}
#chat-view #bao-chat-tool-groups .bao-settings-row{margin:0;min-width:0}
#chat-view #bao-chat-tool-groups #bao-scene-controls{margin:0!important;padding:4px 0!important;border:0!important;min-width:0}
#chat-view #bao-chat-tool-groups #bao-scene-controls select{width:100%;min-width:0}
#chat-view #bao-chat-tool-groups #slot-list{min-width:0;overflow-wrap:anywhere}
#chat-view .bao-native-status-section[data-chat-section-ready]{padding:0;overflow:hidden}
#chat-view .bao-chat-status-detail>summary{list-style:none;cursor:pointer;font-weight:700;padding:10px;line-height:1.5;overflow-wrap:anywhere}
#chat-view .bao-chat-status-detail>summary::-webkit-details-marker{display:none}
#chat-view .bao-chat-status-detail>summary:after{content:'⌄';float:right;color:#bdc2ce}
#chat-view .bao-chat-status-detail[open]>summary:after{content:'⌃'}
#chat-view .bao-chat-status-detail-body{padding:0 8px 10px}
#chat-view .bao-chat-status-detail-body .bao-native-status-person{margin:0}
#chat-view #bao-chat-tool-shortcuts{display:none}
#bao-chat-tool-drawer{position:fixed;inset:0;z-index:140;background:rgba(5,7,12,.82);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;padding:14px}
#bao-chat-tool-drawer .bao-chat-tool-dialog{width:min(520px,100%);max-height:calc(100dvh - 28px);display:flex;flex-direction:column;border:1px solid var(--yoru-card-border,rgba(241,232,218,.16));border-radius:22px;background:var(--yoru-surface,#171519);color:var(--yoru-text,#eee8e0);box-shadow:0 22px 75px #0009;overflow:hidden}
#bao-chat-tool-drawer header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:20px 22px;border-bottom:1px solid;border-color:var(--yoru-card-border,rgba(241,232,218,.10))}
#bao-chat-tool-drawer header h2{margin:0;font-family:'Noto Serif TC','Songti TC',serif;font-size:22px;letter-spacing:.03em}
#bao-chat-tool-drawer header button{width:auto;border:1px solid #ffffff26;background:#242a35;color:inherit;border-radius:9px;padding:8px 12px;cursor:pointer}
#bao-chat-tool-drawer .bao-chat-tool-dialog-body{overflow-y:auto;padding:18px;display:grid;gap:12px;overscroll-behavior:contain;scrollbar-width:thin}
#bao-chat-tool-drawer details{border:1px solid var(--yoru-card-border,rgba(241,232,218,.12));border-radius:14px;background:var(--yoru-card,#211d23);padding:0;min-width:0}
#bao-chat-tool-drawer summary{cursor:pointer;list-style:none;padding:16px;font-size:14px;line-height:1.6;font-weight:700;display:flex;justify-content:space-between;gap:8px}
#bao-chat-tool-drawer summary::-webkit-details-marker{display:none}
#bao-chat-tool-drawer summary:after{content:'⌄';color:#b7bbc7}
#bao-chat-tool-drawer details[open]>summary:after{content:'⌃'}
#bao-chat-tool-drawer .bao-chat-tool-dialog-actions{display:grid;gap:8px;padding:0 12px 12px}
#bao-chat-tool-drawer .bao-chat-tool-proxy{width:100%;min-height:46px;border:1px solid var(--yoru-control-border,rgba(241,232,218,.14));border-radius:10px;background:var(--yoru-control,#2c252e);color:inherit;padding:10px 12px;line-height:1.6;text-align:left;cursor:pointer;overflow-wrap:anywhere}
#bao-chat-tool-drawer .bao-chat-tool-proxy:disabled{opacity:.5;cursor:not-allowed}
#bao-chat-tool-drawer .bao-chat-tool-select{display:grid;gap:7px;padding:0 12px 12px;font-size:13px}
#bao-chat-tool-drawer .bao-chat-tool-select select{width:100%;min-width:0}
#bao-chat-tool-drawer .bao-native-status-board{padding:0 12px 12px}
#bao-chat-tool-drawer #slot-list{padding:0 12px 12px;overflow-wrap:anywhere}
#bao-chat-tool-drawer #slot-list button{width:auto;min-height:35px;margin:5px 2px 0 0}
@media(max-width:1080px){
  #chat-view .bao-chat-shortcuts-placeholder{display:none}
  #chat-view #bao-chat-tool-shortcuts{display:flex;order:12;gap:8px;padding:9px 11px;border-bottom:1px solid #ffffff22;background:#121822}
  #chat-view #bao-chat-tool-shortcuts button{flex:1 1 0;min-width:0;min-height:42px;padding:8px 6px;font-size:13px;white-space:nowrap}
  #chat-view #bao-chat-tool-shortcuts button:first-child{border-color:rgba(93,214,192,.48);color:#c5fff0;background:#19312d}
  #chat-view .story-mobile-tools{display:none!important}
  #chat-view #bao-chat-api-toolbar{order:14}
  #bao-chat-tool-drawer{padding:0;align-items:flex-end}
  #bao-chat-tool-drawer .bao-chat-tool-dialog{width:100%;max-height:94dvh}
}
@media(max-width:360px){#chat-view #bao-chat-tool-shortcuts button{font-size:12px}}
#bao-chat-tool-drawer .bao-native-status-section[data-chat-section-ready]{padding:0;overflow:hidden}
#bao-chat-tool-drawer .bao-chat-status-detail>summary{padding:10px;font-size:13px}
#bao-chat-tool-drawer .bao-chat-status-detail-body{padding:0 8px 10px}
/* Tablet bridge: the desktop sidebar is hidden through 1080px, so keep one
   direct route to the story drawer between phone and desktop layouts. */
@media(min-width:821px) and (max-width:1080px){
  #chat-view.active .chat-main > #bao-chat-tool-shortcuts{
    display:flex!important;
    visibility:visible!important;
  }
  /* Tablet is a compact desktop Control Center, not the phone bottom sheet. */
  #bao-chat-tool-drawer{
    padding:14px!important;
    align-items:center!important;
  }
  #bao-chat-tool-drawer .bao-chat-tool-dialog{
    width:min(520px,100%)!important;
    max-height:calc(100dvh - 28px)!important;
    border-radius:22px!important;
  }
  #bao-chat-tool-drawer header h2{
    font-size:22px!important;
  }
}


/* UX 3.0 · one search field across categorized desktop and mobile tools. */
#bao-chat-tool-drawer [hidden]{display:none!important}
#bao-chat-tool-drawer .bao-tool-search {
  display:grid;gap:6px;padding:5px 2px 10px;min-width:0;
  color:var(--yoru-text,#f1eee8);font-size:13px;font-weight:700;
}
#bao-chat-tool-drawer .bao-tool-search span{color:var(--yoru-muted,#abb2c0)}
#bao-chat-tool-drawer .bao-tool-search input {
  width:100%;min-height:46px;box-sizing:border-box;border-radius:12px;
  border:1px solid var(--yoru-control-border,#545868);
  background:var(--yoru-input,#14151c);color:var(--yoru-text,#f1eee8);
  padding:11px 13px;font-size:16px;outline-offset:2px;
}
#bao-chat-tool-drawer .bao-tool-search input:focus-visible {
  outline:2px solid var(--yoru-lantern,#d6aa73);
}
#bao-chat-tool-drawer .bao-tool-search-empty {
  padding:18px 12px;text-align:center;color:var(--yoru-muted,#b2b7c4);
  font-size:13px;line-height:1.7;
}
@media(max-width:820px) {
  #bao-chat-tool-drawer .bao-tool-search{padding:4px 1px 10px}
  #bao-chat-tool-drawer .yoru-tool-intro{margin:2px 0 9px}
}


/* Experience 3.0 / Phase 12 — complete night/mist/rose parity for platform
   story-tool chrome. Author-rendered story markup remains untouched. */
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer{
  background:color-mix(in srgb,var(--yoru-night) 78%,transparent)
}
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer .bao-chat-tool-dialog{
  background:var(--yoru-surface);color:var(--yoru-text);
  border-color:var(--yoru-control-border)
}
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer header{
  background:var(--yoru-tool);
  color:var(--yoru-text);
  border-bottom-color:var(--yoru-card-border)
}
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer header button{
  background:var(--yoru-control);
  color:var(--yoru-text);
  border-color:var(--yoru-control-border)
}
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer header button:hover:not(:disabled),
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer .bao-chat-tool-proxy:hover:not(:disabled){
  background:var(--yoru-control-hover);
  color:var(--yoru-text);
  border-color:var(--yoru-control-border-hover)
}
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer .bao-chat-tool-dialog-body{
  background:var(--yoru-surface);
  color:var(--yoru-text)
}
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer .bao-chat-tool-dialog-body > details{
  background:var(--yoru-card);
  border-color:var(--yoru-card-border);
  color:var(--yoru-text)
}
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer .bao-chat-tool-dialog-body > details > summary{
  color:var(--yoru-text)
}
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer .bao-chat-tool-dialog-body > details > summary::after{
  color:var(--yoru-muted)
}
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer .bao-chat-tool-dialog-actions{
  border-top-color:var(--yoru-card-border)
}
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer .bao-chat-tool-proxy{
  background:var(--yoru-control);
  color:var(--yoru-text);
  border-color:var(--yoru-control-border)
}
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer .bao-chat-tool-select select,
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer #slot-list select{
  color:var(--yoru-text);
  background:var(--yoru-input);
  border:1px solid var(--yoru-input-border);
  border-radius:9px;
  min-height:39px
}
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer #slot-list button{
  background:var(--yoru-control);
  color:var(--yoru-text);
  border-color:var(--yoru-control-border)
}
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer :is(
  button,select,input,summary
):focus-visible{
  outline:2px solid var(--yoru-lantern);
  outline-offset:2px
}
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #chat-view #bao-chat-tool-groups > details{
  background:var(--yoru-card);
  border-color:var(--yoru-card-border)
}
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #chat-view #bao-chat-tool-groups > details > summary{
  color:var(--yoru-text)
}
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #chat-view #bao-chat-tool-groups > details > summary::after{
  color:var(--yoru-muted)
}


/* The mobile reading shell uses a !important tool background in its own
   stylesheet. Non-night themes need an equally intentional surface override. */
@media(max-width:820px){
  html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"]) #bao-chat-tool-drawer .bao-chat-tool-dialog{
    background:var(--yoru-surface)!important
  }
}


/* Feature-help's legacy purple fill has higher priority than the drawer's
   semantic header button rule. Unify just this platform-help control. */
html:is([data-yoru-theme="mist"],[data-yoru-theme="dawn"],[data-yoru-theme="dusk"],[data-yoru-theme="sunset"])
  #bao-chat-tool-drawer header .bao-help-button{
  background:var(--yoru-control)!important;
  color:var(--yoru-text)!important;
  border-color:var(--yoru-control-border)!important
}

/* State and phone overrides; base geometry and palette live above. */
#bao-chat-tool-drawer .bao-chat-tool-proxy:hover:not(:disabled){background:var(--yoru-control-hover,#38303a)}
#bao-chat-tool-drawer :is(button,input,select,summary):focus-visible{outline:2px solid var(--yoru-lantern,#d6aa73);outline-offset:2px}
@media(max-width:820px){
  #bao-chat-tool-drawer .bao-chat-tool-dialog{border-radius:22px 22px 0 0}
  #bao-chat-tool-drawer .bao-chat-tool-dialog-body{padding:14px 14px calc(18px + env(safe-area-inset-bottom,0px))}
}
/* Control Center task navigation owns the landing hierarchy. The overview and
   searchable tool catalogue share managers, but never compete on one screen. */
#bao-chat-tool-drawer .bao-control-sections{display:flex;gap:6px;padding:12px 18px 0;flex:0 0 auto}
#bao-chat-tool-drawer .bao-control-sections button{flex:1;min-height:44px;border:1px solid var(--yoru-control-border,#545868);border-radius:11px;background:transparent;color:var(--yoru-muted,#b2b7c4);font:inherit;cursor:pointer}
#bao-chat-tool-drawer .bao-control-sections button[aria-pressed="true"]{background:var(--yoru-control,#2c252e);color:var(--yoru-text,#f1eee8);border-color:var(--yoru-lantern,#d6aa73);font-weight:700}
#bao-chat-tool-drawer .bao-control-sections button:disabled{opacity:.45;cursor:default}
#bao-chat-tool-drawer .bao-chat-tool-dialog>.bao-tool-search{margin:0;padding:10px 18px 12px;flex:0 0 auto}
#bao-chat-tool-drawer [data-story-settings-hub]>summary{display:none}
#bao-chat-tool-drawer [data-story-settings-hub]{border:0;background:transparent}
#bao-chat-tool-drawer [data-story-settings-hub] .story-control-head .eyebrow{display:none}
#bao-chat-tool-drawer .bao-chat-tool-dialog-body{min-height:0}
@media(max-width:820px){
  #bao-chat-tool-drawer .bao-control-sections{padding:10px 14px 0}
  #bao-chat-tool-drawer .bao-chat-tool-dialog>.bao-tool-search{padding:8px 14px 10px}
}
