/* Xiaoman / White and warm brown workspace. Shared primitives, rebuilt independently of legacy styles. */
:root{color-scheme:light;--bg:#fff;--surface:#fff;--surface-2:#f7f7f8;--surface-3:#e9e9eb;--ink:#242426;--ink-2:#55575e;--ink-3:#777982;--ink-nav:#414148;--line:#e4e4e7;--line-soft:#eeeef0;--accent:#9b6546;--accent-raw:#9b6546;--accent-ink:#845338;--accent-hover:#845338;--accent-on:#fff;--accent-soft:#f5ede7;--ok:#32765c;--danger:#b43e48;--bubble-me:var(--accent-soft);--bubble-me-ink:var(--ink);--shadow-1:0 2px 4px #24242605;--shadow-2:0 16px 48px #2424261f;--r-sm:6px;--r-md:10px;--r-lg:12px;--r-xl:16px;--font:"Segoe UI","PingFang SC","Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box}html{margin:0;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.65 var(--font);-webkit-font-smoothing:antialiased} [hidden]{display:none!important}
button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,a{transition:background-color .16s,color .16s,box-shadow .16s}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--accent);text-decoration:none}button:not(:disabled):active{filter:brightness(.94)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input,select,textarea{min-width:0;max-width:100%;color:var(--ink);accent-color:var(--accent)}select{background:var(--surface)}h1,h2,h3{margin-top:0;color:var(--ink);text-wrap:balance;letter-spacing:-.035em}p{overflow-wrap:break-word}button svg,a svg{flex-shrink:0}
.icon{display:block;width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7}.icon--inline{display:inline-block;vertical-align:-.15em}.icon--lg{width:22px;height:22px}.icon--xl{width:30px;height:30px}
.icon-btn{width:44px;height:44px;border:0;border-radius:10px;display:inline-grid;place-items:center;background:transparent;color:var(--ink-2);flex:none}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}
.btn{min-height:44px;padding:10px 18px;border:1px solid var(--line);background:var(--surface);border-radius:8px;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:13px;text-decoration:none}.btn:hover{background:var(--surface-2)}.btn--primary{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.btn--primary:hover{background:var(--accent-ink)}.btn--ghost{background:#fff}.btn--sm{padding:7px 12px}.btn:disabled{opacity:.5}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;margin:-1px;padding:0;border:0}
.skip-link{position:fixed;left:16px;top:12px;z-index:1000;padding:12px 20px;background:var(--ink);color:#fff;border-radius:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}
dialog{border:0;border-radius:14px;padding:24px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);overflow:auto;box-shadow:var(--shadow-2);background:#fff;color:var(--ink)}dialog::backdrop{background:#24242670}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}

/* Use one readable input size across mobile chat, editors and workspace forms. */
@media(max-width:1080px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 :root body :is(input,textarea,select):not(:is([type="range"],[type="checkbox"],[type="radio"],[type="color"])){font-size:16px}
}
