:root { color-scheme: light; font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif; background: #f8f3f2; color: #3f3033; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 82% 8%, #f1dfe0 0, transparent 32%), linear-gradient(145deg, #fbf7f5, #f3e9e7); }
.shell { width: calc(100% - 64px); margin: 0 auto; padding: 28px 0 80px; }
.topbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:64px; } .brand { display:flex; align-items:center; gap:12px; } .brand strong { display:block; font-size:16px; } .brand small { color:#a1898c; font-size:11px; letter-spacing:.08em; } .brand-mark { display:grid; place-items:center; width:38px; height:38px; border-radius:13px; background:#b77b84; color:white; box-shadow:0 8px 18px #b77b8433; } .user-menu-wrap { position:relative; } .user-menu { display:flex; align-items:center; gap:9px; padding:5px 10px 5px 5px; background:transparent; color:#60494d; } .avatar { display:grid; place-items:center; width:30px; height:30px; border-radius:10px; background:#eed4d5; color:#a66f78; font-size:13px; font-weight:800; } .chevron { color:#a66f78; font-size:16px; } .user-popover { position:absolute; z-index:20; right:0; top:44px; min-width:150px; padding:7px; border:1px solid #ead5d5; border-radius:14px; background:#fffaf9; box-shadow:0 14px 35px #89606622; } .user-popover a, .user-popover button { display:block; width:100%; padding:10px 11px; border-radius:9px; color:#806d70; background:transparent; text-align:left; text-decoration:none; font-size:13px; font-weight:600; } .user-popover a:hover, .user-popover button:hover { background:#f7e9e9; color:#a66f78; }
.dashboard-topbar { justify-content:flex-end; margin-bottom:34px; }.topbar-actions{display:flex;align-items:center;gap:18px}.top-links{display:flex;align-items:center;gap:16px;padding-right:18px;border-right:1px solid #ead5d5}.top-links a{color:#a1898c;font-size:11px;text-decoration:none;transition:.2s}.top-links a:hover{color:#a66f78}.dashboard-welcome{margin-bottom:58px}.dashboard-welcome .kicker{margin-bottom:10px}.dashboard-welcome h1{margin-top:0}.user-menu{min-height:40px}.chevron{display:inline-flex;align-items:center;line-height:1;transform:translateY(-1px)}
.welcome { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:66px; } .welcome h1 { font-size:clamp(38px,6vw,66px); margin:10px 0; } .welcome p { color:#806d70; } .settings-link, .back { color:#a66f78; text-decoration:none; font-weight:700; } .section-title { display:flex; align-items:baseline; gap:12px; margin:26px 0 16px; } .section-title h2 { margin:0; } .section-title span { color:#aa9698; font-size:13px; }
.tool-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; } .tool-card { position:relative; min-height:170px; padding:22px; border:1px solid #ead5d5; border-radius:18px; background:#fffaf9; color:#3f3033; text-decoration:none; transition:.22s ease; } .tool-card:hover { transform:translateY(-4px); box-shadow:0 16px 35px #8960661a; border-color:#cfa3a7; } .tool-card.featured { background:linear-gradient(145deg,#fffaf9,#f4e1e1); } .tool-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:#eed4d5; color:#a66f78; font-size:22px; margin-bottom:24px; } .tool-card h3 { margin:0 0 7px; font-size:16px; } .tool-card p { margin:0; color:#907c7f; font-size:12px; line-height:1.6; } .tool-card b { position:absolute; right:20px; bottom:20px; color:#b77b84; }
.quick-links { display:flex; flex-wrap:wrap; gap:10px; } .quick-links a { padding:12px 16px; color:#806d70; border:1px solid #ead5d5; border-radius:12px; background:#fffaf9; text-decoration:none; font-size:13px; } .quick-links a:hover { border-color:#cfa3a7; color:#a66f78; }
.page { max-width:820px; margin:0 auto; } .page-heading { display:flex; justify-content:space-between; margin:38px 0 32px; } .page-heading h1 { margin:8px 0; } .page-symbol { color:#c18a91; font-size:54px; } textarea, select { width:100%; padding:13px 14px; border:1px solid #dec2c5; border-radius:10px; background:#fffafa; color:inherit; font:inherit; resize:vertical; } select { margin-top:8px; } .form-row { display:flex; align-items:end; gap:16px; } .form-row label { flex:1; } #image-result img { max-width:100%; margin-top:18px; border-radius:14px; box-shadow:0 12px 30px #89606622; }
.hero { margin-bottom: 42px; }
.eyebrow, .kicker { color: #a66f78; font-weight: 800; letter-spacing: .18em; font-size: 12px; }
h1 { max-width: 700px; margin: 14px 0; font-size: clamp(42px, 8vw, 80px); line-height: 1.05; letter-spacing: -.04em; } h1 span { color: #a86f79; }
.intro { max-width: 620px; color: #806d70; font-size: 18px; line-height: 1.8; }
.card { padding: 28px; border: 1px solid #ead5d5; border-radius: 22px; background: rgb(255 252 251 / 86%); box-shadow: 0 20px 55px rgb(137 96 102 / 12%); }
.card-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; } h2 { margin: 4px 0 8px; font-size: 28px; } .card p { color: #806d70; } .flower { color: #c18a91; font-size: 40px; line-height: 1; }
label { display: block; margin: 20px 0 8px; font-weight: 700; } input { width: 100%; padding: 13px 14px; border: 1px solid #dec2c5; border-radius: 10px; background: #fffafa; color: inherit; font: inherit; outline: none; } input:focus { border-color: #b77b84; box-shadow: 0 0 0 3px #dcb7bb55; }
.row { display: flex; gap: 10px; } .row input { flex: 1; min-width: 0; } button { padding: 12px 20px; border: 0; border-radius: 10px; background: #b77b84; color: #fff; font: inherit; font-weight: 800; cursor: pointer; } button:hover { background: #a86f79; }
.ghost-button { background: transparent; border: 1px solid #dec2c5; color: #8e6269; padding: 9px 14px; } .link-button { background: none; color: #a66f78; padding: 0; font-weight: 700; } .switch { margin-bottom: 0; } .message { min-height: 24px; color: #a66f78 !important; } #notes { display: grid; gap: 10px; padding: 0; list-style: none; } #notes li { padding: 13px 15px; border-radius: 10px; background: #f7e9e9; color: #60494d; } /* 工具类必须压过组件自身的 display，否则组件样式写在后面时会让隐藏失效。 */
.hidden { display: none !important; }
@media (max-width: 780px) { .tool-grid { grid-template-columns:repeat(2,1fr); } .welcome { align-items:flex-start; flex-direction:column; margin-bottom:40px; } }
@media (max-width: 560px) { .shell { padding-top:20px; } .topbar { margin-bottom:42px; } .tool-grid { grid-template-columns:1fr; } .form-row { flex-direction:column; align-items:stretch; } .card { padding:22px; } }

/* Dashboard: split information and tools into a calm two-column workspace. */
.dashboard-layout{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(34px,6vw,92px);min-height:calc(100vh - 150px);align-items:center}.dashboard-info{display:grid;gap:16px;align-content:center}.dashboard-welcome{margin:0 0 10px}.dashboard-welcome h1{margin:8px 0 10px}.dashboard-welcome>p:last-child{margin:0;color:var(--kitty-muted,#8b7470);font-size:13px}.dashboard-tools{display:flex;flex-direction:column;justify-content:center}.dashboard-tools .section-title{margin:0 0 16px}.info-card{padding:20px 22px;border:1px solid var(--kitty-line,#ead9ce);border-radius:18px;background:color-mix(in srgb,var(--kitty-paper,#fffdf8) 95%,#f8e5df);box-shadow:0 14px 30px rgb(119 73 65 / 7%)}.info-card-label{display:flex;justify-content:space-between;align-items:center;color:var(--kitty-muted,#8b7470);font-size:11px;font-weight:700;letter-spacing:.06em}.info-card-mark{color:var(--kitty-red,#d63b45);font-size:17px}.countdown-card>strong{display:block;margin:13px 0 3px;color:var(--kitty-red,#d63b45);font-size:42px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.countdown-card>p{margin:0;color:var(--kitty-muted,#8b7470);font-size:11px}.weather-main{display:flex;align-items:center;gap:16px;margin-top:16px}.weather-main>strong{color:var(--kitty-ink,#342d2d);font-size:38px;line-height:1;font-variant-numeric:tabular-nums}.weather-main b,.weather-main small{display:block}.weather-main b{font-size:14px}.weather-main small{margin-top:5px;color:var(--kitty-muted,#8b7470);font-size:11px}.weather-meta{display:flex;gap:14px;margin-top:17px;color:var(--kitty-muted,#8b7470);font-size:11px}.dashboard-tools .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-tools .tool-card{min-height:154px}
@media(max-width:820px){.dashboard-layout{grid-template-columns:1fr;gap:28px;min-height:0;align-items:start}.dashboard-info{grid-template-columns:1fr 1fr}.dashboard-welcome{grid-column:1/-1}.dashboard-tools .section-title{margin-top:0}}
@media(max-width:560px){.dashboard-info{grid-template-columns:1fr}.dashboard-welcome{grid-column:auto}.dashboard-tools .tool-grid{grid-template-columns:1fr}.dashboard-tools .tool-card{min-height:145px}}

/* Dashboard refinement: identity stays in the corner; the workspace gets an even 1:1 split. */
body[data-page="dashboard"] .dashboard-topbar{position:absolute;top:28px;left:0;right:0;margin:0;z-index:4;justify-content:space-between}
body[data-page="dashboard"] .dashboard-identity{display:flex;align-items:center;gap:15px}
body[data-page="dashboard"] .dashboard-identity>strong{color:var(--kitty-ink,#342d2d);font-size:15px;letter-spacing:.08em}
body[data-page="dashboard"] .dashboard-identity>span{color:var(--kitty-muted,#8b7470);font-size:18px}
body[data-page="dashboard"] .dashboard-identity>span b{color:var(--kitty-red,#d63b45);font-weight:700}
body[data-page="dashboard"] .dashboard-identity .user-menu{padding-left:0;color:var(--kitty-muted,#8b7470)}
body[data-page="dashboard"] .dashboard-layout{width:min(100%,1160px);margin-inline:auto;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:clamp(18px,2.4vw,30px);min-height:calc(100vh - 64px);padding-top:34px}
body[data-page="dashboard"] .dashboard-info{display:flex;justify-content:center;align-items:center}
body[data-page="dashboard"] .dashboard-panel{position:relative;width:min(100%,500px);min-height:400px;padding:28px;border:1px solid var(--kitty-line,#ead9ce);border-radius:21px;background:color-mix(in srgb,var(--kitty-paper,#fffdf8) 94%,#f8e5df);box-shadow:0 18px 44px rgb(119 73 65 / 9%);overflow:hidden}
body[data-page="dashboard"] .dashboard-panel{background:linear-gradient(145deg,#fffaf3 12%,#f8e2dc 100%)}
body[data-page="dashboard"] .dashboard-panel::before{content:"🎀";position:absolute;top:24px;left:28px;font-size:26px;opacity:.62;filter:saturate(.78);z-index:1}
body[data-page="dashboard"] .dashboard-shell::after{display:none}
body[data-page="dashboard"] .countdown-card{position:absolute;left:50%;top:57%;width:min(75%,300px);min-height:260px;padding:28px 30px;margin:0;text-align:left;transform:translate(-50%,-42%);z-index:1}
body[data-page="dashboard"] .countdown-card::after{content:"";display:block;width:72px;height:3px;margin-top:18px;border-radius:999px;background:linear-gradient(90deg,var(--kitty-red,#d63b45),#efaaa1);box-shadow:26px 0 0 -1px #efc0ba}
body[data-page="dashboard"] .countdown-label{display:block;color:var(--kitty-muted,#8b7470);font-size:13px;letter-spacing:.04em}
body[data-page="dashboard"] .countdown-card>strong{margin:14px 0 0;background:linear-gradient(135deg,var(--kitty-red,#d63b45),#ed7b7b);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(48px,5vw,68px);font-weight:850;line-height:.95;letter-spacing:-.07em;text-shadow:0 8px 18px rgb(214 59 69 / 12%)}
body[data-page="dashboard"] .countdown-unit{display:none}
body[data-page="dashboard"] .weather-corner{position:absolute;top:26px;right:28px;display:grid;grid-template-columns:auto auto;gap:5px 10px;align-items:baseline;text-align:right;color:var(--kitty-muted,#8b7470);font-size:11px}
body[data-page="dashboard"] .weather-place{grid-column:1/-1;color:var(--kitty-ink,#342d2d);font-size:14px;font-weight:700}
body[data-page="dashboard"] .weather-corner strong{grid-column:1;grid-row:2;color:var(--kitty-red,#d63b45);font-size:26px;line-height:1}
body[data-page="dashboard"] .weather-corner b{grid-column:2;grid-row:2;color:var(--kitty-ink,#342d2d);font-size:12px;text-align:left}
body[data-page="dashboard"] .weather-corner span:not(.weather-place){font-size:10px}
body[data-page="dashboard"] .dashboard-tools{max-width:620px;width:100%;justify-self:center}
body[data-page="dashboard"] .dashboard-tools .section-title{margin:0 0 12px}
body[data-page="dashboard"] .dashboard-tools .section-title h2{font-size:18px}
body[data-page="dashboard"] .dashboard-tools .section-title span{font-size:11px}
body[data-page="dashboard"] .dashboard-tools .tool-grid{gap:11px}
body[data-page="dashboard"] .dashboard-tools .tool-card{min-height:130px;padding:18px;border-radius:15px}
body[data-page="dashboard"] .dashboard-tools .tool-icon{width:32px;height:32px;margin-bottom:18px;font-size:18px;border-radius:10px}
body[data-page="dashboard"] .dashboard-tools .tool-card h3{font-size:14px}
body[data-page="dashboard"] .dashboard-tools .tool-card p{font-size:11px}
body[data-page="dashboard"] .dashboard-tools .tool-card b{right:16px;bottom:16px}
/* Dashboard scale: give both columns more presence, especially the tool cards. */
body[data-page="dashboard"] .dashboard-layout{width:min(100%,1320px);grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);gap:clamp(28px,3.2vw,52px);min-height:calc(100vh - 48px)}
body[data-page="dashboard"] .dashboard-panel{width:min(100%,580px);min-height:500px;padding:34px}
body[data-page="dashboard"] .dashboard-tools{max-width:760px}
body[data-page="dashboard"] .dashboard-tools .section-title{margin-bottom:18px}
body[data-page="dashboard"] .dashboard-tools .section-title h2{font-size:22px}
body[data-page="dashboard"] .dashboard-tools .section-title span{font-size:12px}
body[data-page="dashboard"] .dashboard-tools .tool-grid{gap:16px}
body[data-page="dashboard"] .dashboard-tools .tool-card{min-height:178px;padding:24px;border-radius:17px}
body[data-page="dashboard"] .dashboard-tools .tool-icon{width:42px;height:42px;margin-bottom:22px;font-size:22px;border-radius:12px}
body[data-page="dashboard"] .dashboard-tools .tool-card h3{font-size:17px}
body[data-page="dashboard"] .dashboard-tools .tool-card p{font-size:12px;line-height:1.65}
body[data-page="dashboard"] .dashboard-tools .tool-card b{right:20px;bottom:20px;font-size:18px}
/* The dashboard is a single-screen workspace; keep the page itself from scrolling. */
body[data-page="dashboard"]{height:100vh;overflow:hidden}
body[data-page="dashboard"] .dashboard-shell{height:100%;min-height:0;overflow:hidden;padding-bottom:28px}
body[data-page="dashboard"] .dashboard-layout{min-height:calc(100vh - 56px)}
@media(min-width:821px){
  body[data-page="dashboard"] .dashboard-tools{max-width:760px}
  body[data-page="dashboard"] .dashboard-tools .tool-grid{gap:16px}
  body[data-page="dashboard"] .dashboard-tools .tool-card{display:flex;align-items:center;gap:18px;min-height:178px;padding:24px 52px 24px 24px;border-radius:17px}
  body[data-page="dashboard"] .dashboard-tools .tool-icon{flex:0 0 42px;width:42px;height:42px;margin:0;border-radius:12px;background-size:40px}
  body[data-page="dashboard"] .dashboard-tools .tool-card h3{margin-bottom:7px;font-size:17px}
  body[data-page="dashboard"] .dashboard-tools .tool-card p{font-size:12px;line-height:1.65}
  body[data-page="dashboard"] .dashboard-tools .tool-card b{right:20px;bottom:50%;font-size:18px;transform:translateY(50%)}
  body[data-page="dashboard"] .countdown-card{width:min(78%,360px);min-height:300px;padding:32px 36px}
}
@media(max-width:820px){body[data-page="dashboard"] .dashboard-topbar{position:relative;top:auto;left:auto;right:auto;margin-bottom:24px}body[data-page="dashboard"] .dashboard-layout{grid-template-columns:1fr;min-height:0;padding-top:0}body[data-page="dashboard"] .dashboard-panel{min-height:320px}body[data-page="dashboard"] .dashboard-tools{max-width:none}}
@media(max-width:560px){body[data-page="dashboard"] .dashboard-topbar{align-items:flex-start;gap:12px}body[data-page="dashboard"] .dashboard-identity{gap:8px;flex-direction:column;align-items:flex-start}body[data-page="dashboard"] .dashboard-panel{min-height:280px;padding:22px}body[data-page="dashboard"] .countdown-card{left:50%;transform:translate(-50%,-42%)}body[data-page="dashboard"] .weather-corner{top:20px;right:20px}}

/* Refined login experience, preserving the existing rose palette. */
.auth-card { max-width: 980px; margin: 8vh auto 0; padding: 0; display: grid; grid-template-columns: .92fr 1.08fr; overflow: hidden; }
.auth-intro { position: relative; padding: 52px 46px; background: linear-gradient(150deg,#f4e1e1,#eed4d5); min-height: 510px; }
.auth-intro h1 { margin: 18px 0 18px; font-size: clamp(38px,5vw,58px); line-height: 1.1; letter-spacing: -.04em; }
.auth-intro h1 em { color:#a66f78; font-style:normal; }
.auth-orb { position:absolute; top:38px; right:42px; color:#c18a91; font-size:48px; opacity:.7; }
.auth-lead { max-width:280px; color:#806d70; line-height:1.8; font-size:14px; }
.auth-note { position:absolute; left:46px; right:46px; bottom:46px; display:flex; gap:12px; align-items:center; padding-top:20px; border-top:1px solid #d8b9bc; color:#60494d; }
.auth-note > span { color:#b77b84; font-size:24px; }.auth-note strong,.auth-note small {display:block}.auth-note small{margin-top:4px;color:#9a8084;font-size:11px}
.auth-form-panel { padding: 54px 58px 36px; background:#fffdfc; }
.mobile-auth-heading { display:none; }.auth-form-panel form > label { margin:0 0 9px; font-size:12px; }
.label-row { display:flex; justify-content:space-between; align-items:center; margin:22px 0 9px; }.label-row label{margin:0}.label-row a,.auth-footnote a{color:#a66f78;font-size:11px;font-weight:700;text-decoration:none}
.input-wrap { position:relative; display:flex; align-items:center; margin-bottom:0; }.input-wrap input { height:52px; padding:0 44px; }.field-icon { position:absolute; left:16px; color:#b28b90; font-size:14px; z-index:1; }.password-toggle { position:absolute; right:10px; width:32px; height:32px; padding:0; background:transparent; color:#b28b90; font-size:13px; }
.auth-submit { width:100%; height:53px; margin-top:5px; display:flex; justify-content:space-between; align-items:center; padding:0 20px 0 23px; }.auth-submit b{font-size:20px;font-weight:400;transition:.2s}.auth-submit:hover b{transform:translateX(4px)}
.auth-submit:disabled { cursor:wait; opacity:.72; transform:none; }
.auth-footnote { margin:28px 0 0; text-align:center; color:#aa9698; font-size:10px; }
@media (max-width:780px){.auth-card{grid-template-columns:1fr;margin:5vh auto 0}.auth-intro{min-height:300px;padding:34px 28px}.auth-intro h1{font-size:42px}.auth-orb{top:26px;right:28px}.auth-note{left:28px;right:28px;bottom:26px}.auth-form-panel{padding:34px 28px 28px}}
@media (max-width:560px){.auth-card{margin-top:20px}.auth-intro{display:none}.mobile-auth-heading{display:block}.mobile-auth-heading h2{margin:8px 0;font-size:32px}.mobile-auth-heading p:last-child{margin:0 0 28px;font-size:13px}}

.input-wrap.field-error input { border-color:#b86f76; box-shadow:0 0 0 3px #dcb7bb44; }

/* Shared subpage layout. */
.subpage-shell{max-width:1240px}.titlebar{display:flex;align-items:center;justify-content:space-between;margin-bottom:54px;min-height:48px}.subpage-back{display:inline-flex;align-items:center;gap:12px;color:#60494d;text-decoration:none}.back-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dec2c5;border-radius:11px;color:#a66f78;font-size:18px;transition:.2s}.subpage-back:hover .back-icon{background:#f4e1e1;transform:translateX(-2px)}.subpage-back strong,.subpage-back small{display:block}.subpage-back strong{font-size:14px}.subpage-back small{margin-top:3px;color:#aa9698;font-size:10px;letter-spacing:.12em}.studio-page{width:100%;margin:0 auto}.studio-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.studio-hint{margin:8px 0 0;color:#907c7f;font-size:13px}.size-control{width:168px;margin:0;font-size:11px;color:#907c7f}.size-control select{margin-top:7px}.generation-form textarea{min-height:210px;padding:22px;border-radius:16px;border-color:#dec2c5;background:#fffdfc;font-size:16px;line-height:1.8}.generation-form textarea:focus{border-color:#b77b84}.generation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px}.toolbar-left{display:flex;align-items:center;gap:8px}.tool-button{padding:10px 12px;border:1px solid #dec2c5;background:transparent;color:#806d70;font-size:12px;font-weight:600}.tool-button:hover{background:#f7e9e9;color:#a66f78}.reference-name{max-width:180px;overflow:hidden;color:#aa9698;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.generate-button{display:inline-flex;align-items:center;gap:9px;padding:13px 20px}.generate-icon{font-size:16px}.generate-button:disabled{opacity:.65;cursor:wait}.history-section{margin-top:58px}.history-heading{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.history-heading h2{margin:0;font-size:20px}.history-heading span{color:#aa9698;font-size:11px}.history-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.history-card{position:relative;aspect-ratio:1;border-radius:15px;overflow:hidden;background:#f4e1e1}.history-card>img{width:100%;height:100%;object-fit:cover}.history-overlay{position:absolute;inset:auto 0 0;padding:28px 12px 12px;color:white;background:linear-gradient(transparent,#3f3033dd);opacity:0;transform:translateY(5px);transition:.2s}.history-card:hover .history-overlay{opacity:1;transform:none}.history-overlay p{display:-webkit-box;margin:0 0 9px;overflow:hidden;font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.history-actions{display:flex;align-items:center;gap:7px}.history-actions button,.history-download{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid #ffffff55;border-radius:8px;background:#ffffff1f;color:white;font-size:13px;text-decoration:none}.history-download span{display:none}.history-empty{padding:42px 0;text-align:center;color:#aa9698;font-size:12px}
@media(max-width:780px){.titlebar{margin-bottom:35px}.studio-heading{align-items:flex-start;flex-direction:column}.size-control{width:100%}.generation-form textarea{min-height:180px}.generation-toolbar{align-items:flex-start;flex-direction:column}.generate-button{width:100%;justify-content:center}.history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Settings and profile use the same spacious subpage rhythm as AI image generation. */
.settings-page{width:100%;max-width:1040px}.subpage-heading{margin-bottom:34px}.subpage-heading .kicker{margin:0 0 10px}.subpage-heading>p:last-child{margin:0;color:#907c7f;font-size:13px}.settings-form{border-top:1px solid #ead5d5}.form-section{display:grid;grid-template-columns:230px minmax(0,1fr);gap:56px;padding:34px 0;border-bottom:1px solid #ead5d5}.form-section-copy h2{margin:0 0 8px;font-size:20px}.form-section-copy p{margin:0;color:#aa9698;font-size:12px;line-height:1.7}.form-fields{display:grid;grid-template-columns:1fr;gap:22px}.form-fields label{margin:0}.form-fields label span,.form-fields label small{display:block}.form-fields label span{font-size:13px;font-weight:700}.form-fields label small{margin:5px 0 8px;color:#aa9698;font-size:11px}.form-fields input{height:48px}.profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.profile-fields .full-field{grid-column:1/-1}.security-note{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:#f8ecec;color:#806d70}.security-note>span{color:#a66f78;font-weight:800}.security-note p{margin:0}.security-note strong,.security-note small{display:block}.security-note strong{font-size:12px}.security-note small{margin-top:4px;color:#aa9698;font-size:11px;line-height:1.5}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0}.form-footer .message{margin:0}.save-button{display:inline-flex;align-items:center;gap:8px;padding:12px 18px}.save-button span{font-size:14px}
@media(max-width:780px){.form-section{grid-template-columns:1fr;gap:24px}.form-section>.form-footer{grid-column:1}.profile-fields{grid-template-columns:1fr}.profile-fields .full-field{grid-column:auto}.form-footer{align-items:stretch;flex-direction:column}.save-button{justify-content:center}}

/* Keep the profile chevron optically centered beside the username. */
.user-menu { align-items: center; line-height: 1; }
.user-menu .chevron { display: none; }

/* AI image generation: status notes, loading placeholder and lightbox preview. */
.generation-note { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 12px 0 0; color: #aa9698; font-size: 11px; } .generation-note a { color: #a66f78; font-weight: 700; text-decoration: none; } .generation-note a:hover { text-decoration: underline; }
.history-meta { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 9px; color: rgb(255 255 255 / 72%); font-size: 10px; }
.history-note { margin: 8px 0 0 !important; color: #ffe0e2 !important; font-size: 10px !important; -webkit-line-clamp: 3 !important; }

/* AI 图片页保持工作区紧凑，状态信息通过 toast 短暂提示。 */
body[data-page="ai-image"] .titlebar { margin-bottom: 26px; }
body[data-page="ai-image"] .generation-form textarea { min-height: 142px; padding: 16px 18px; }
body[data-page="ai-image"] .size-control { width: 132px; }
body[data-page="ai-image"] .generation-note { display: none; }
body[data-page="ai-image"] #image-message,
body[data-page="ai-image"] .history-heading { display: none; }
body[data-page="ai-image"] .history-section { margin-top: 22px; }
body[data-page="ai-image"] .history-card>img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; margin: 0 !important; object-fit: cover; object-position: center; }
.app-toast { position: fixed; z-index: 1000; left: 50%; bottom: 28px; max-width: min(90vw, 520px); padding: 10px 16px; border: 1px solid #ead0d3; border-radius: 999px; background: rgba(67, 48, 52, .92); box-shadow: 0 10px 28px rgba(73, 42, 48, .2); color: #fff; font-size: 12px; line-height: 1.4; opacity: 0; transform: translate(-50%, 10px); transition: opacity .2s, transform .2s; pointer-events: none; }
.app-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.app-toast.is-error { background: rgba(154, 61, 70, .95); }
body[data-page="ai-image"] .history-actions .history-download { width: auto; padding: 0 10px; gap: 4px; }
body[data-page="ai-image"] .history-download span { display: inline; }
body[data-page="ai-image"] .history-actions .history-download { flex: 1; }
body[data-page="ai-image"] .history-actions button { width: 30px; flex: 0 0 30px; }
body[data-page="ai-image"] .history-actions svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body[data-page="ai-image"] .history-actions .history-download svg { width: 14px; height: 14px; }
body[data-page="ai-image"] .history-actions [data-action="copy-url"] svg { width: 18px; height: 18px; }
body[data-page="ai-image"] .history-actions [data-action="delete"] { border-color: rgba(248, 113, 113, .72); background: rgba(239, 68, 68, .2); color: #fecaca; }
body[data-page="ai-image"] .history-actions [data-action="delete"]:hover { border-color: #f87171; background: rgba(239, 68, 68, .36); color: #fff; }
.history-card.is-loading { display: grid; place-items: center; background: #f3e2e2; }
.loading-shimmer { position: absolute; inset: 0; background: linear-gradient(100deg, #f2e0e0 30%, #fdf2f2 50%, #f2e0e0 70%); background-size: 220% 100%; animation: shimmer 1.4s infinite linear; }
.loading-text { position: relative; margin: 0; color: #a66f78; font-size: 12px; font-weight: 700; }
@keyframes shimmer { from { background-position: 120% 0; } to { background-position: -120% 0; } }
.message.is-error { color: #b4545f !important; }
.footer-actions { display: flex; gap: 10px; align-items: center; }
.lightbox { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: 40px 24px; background: rgb(63 48 51 / 85%); }
.lightbox-close { position: absolute; top: 18px; right: 22px; width: 40px; height: 40px; padding: 0; border-radius: 12px; background: rgb(255 255 255 / 12%); color: #fff; font-size: 22px; line-height: 1; } .lightbox-close:hover { background: rgb(255 255 255 / 20%); }
.lightbox-body { display: flex; flex-direction: column; gap: 14px; margin: 0; max-width: min(960px, 92vw); max-height: 88vh; }
.lightbox-body img { max-width: 100%; max-height: 74vh; border-radius: 16px; background: #fff; box-shadow: 0 26px 60px rgb(36 26 28 / 40%); }
.lightbox-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.lightbox-bar p { margin: 0; max-width: 74ch; color: rgb(255 255 255 / 85%) !important; font-size: 13px; line-height: 1.6; }
.lightbox-download { flex: none; padding: 10px 14px; border-radius: 10px; background: #fff; color: #a66f78 !important; font-size: 12px; font-weight: 700; text-decoration: none; }
@media (max-width: 560px) { .lightbox { padding: 20px 14px; } .lightbox-bar { flex-direction: column; align-items: stretch; } .lightbox-download { text-align: center; } .footer-actions { flex-direction: column-reverse; align-items: stretch; } }

/* Parent communication library. */
.communication-page{max-width:1180px;margin:0 auto}.communication-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.communication-heading h1{margin:0;font-size:42px;letter-spacing:-.04em}.communication-heading p:last-child{margin:8px 0 0;color:var(--kitty-muted,#907c7f);font-size:13px}.settings-link{padding:10px 14px;border:1px solid var(--kitty-line,#ead9ce);border-radius:12px;background:transparent;color:var(--kitty-red,#d63b45);font-size:12px;font-weight:700}.settings-link:hover{background:#fff0e8}.script-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:12px;border-bottom:1px solid var(--kitty-line,#ead9ce)}.script-tabs button{flex:none;padding:10px 16px;border:1px solid var(--kitty-line,#ead9ce);border-radius:999px;background:#fffaf2;color:var(--kitty-muted,#8b7470);font-size:12px;font-weight:700}.script-tabs button.is-active{border-color:var(--kitty-red,#d63b45);background:var(--kitty-red,#d63b45);color:#fff}.script-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:20px;margin-top:20px}.script-sidebar{padding:18px 10px;border:1px solid var(--kitty-line,#ead9ce);border-radius:16px;background:rgb(255 253 248 / 78%)}.sidebar-label{padding:0 10px 10px;color:var(--kitty-muted,#8b7470);font-size:11px;font-weight:700;letter-spacing:.08em}.script-sidebar nav{display:grid;gap:4px}.script-sidebar button{display:flex;align-items:center;gap:10px;width:100%;padding:11px 10px;border:0;border-radius:10px;background:transparent;color:var(--kitty-ink,#342d2d);text-align:left;font-size:12px;line-height:1.4}.script-sidebar button span{color:var(--kitty-red,#d63b45);font-size:10px;font-weight:800}.script-sidebar button:hover,.script-sidebar button.is-active{background:#fff0e8;color:var(--kitty-red,#d63b45)}.script-workspace{min-width:0}.context-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--kitty-line,#ead9ce);border-radius:16px;background:#fff8ef}.context-panel strong,.context-panel small{display:block}.context-panel strong{font-size:13px}.context-panel small{margin-top:5px;color:var(--kitty-muted,#8b7470);font-size:11px}.context-fields{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:8px;flex:1;max-width:650px}.context-fields label{font-size:10px;color:var(--kitty-muted,#8b7470)}.context-fields input{height:36px;margin-top:5px;padding:0 9px;border-radius:9px;font-size:12px}.script-card{margin-top:16px;padding:24px 26px;border:1px solid var(--kitty-line,#ead9ce);border-radius:18px;background:color-mix(in srgb,var(--kitty-paper,#fffdf8) 96%,#f8e5df);box-shadow:0 16px 34px rgb(119 73 65 / 8%)}.script-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.script-card-head>div{display:flex;gap:12px}.script-index{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#f5d9d5;color:var(--kitty-red,#d63b45);font-size:12px;font-weight:800}.script-card h2{margin:0;font-size:21px}.script-card-head p{margin:6px 0 0;color:var(--kitty-muted,#8b7470);font-size:11px}.copy-button{display:inline-flex;align-items:center;gap:7px;padding:11px 14px;border-radius:11px;background:var(--kitty-red,#d63b45);color:#fff;font-size:12px;font-weight:700}.script-content{margin-top:22px;padding:20px;border-radius:13px;background:#fffaf2;color:var(--kitty-ink,#342d2d);font-size:15px;line-height:2;white-space:pre-wrap}.script-note{margin-top:14px;padding-top:14px;border-top:1px dashed var(--kitty-line,#ead9ce);color:var(--kitty-muted,#8b7470);font-size:11px;line-height:1.6}.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgb(52 45 45 / 42%)}.modal-card{position:relative;width:min(600px,100%);padding:28px;border:1px solid var(--kitty-line,#ead9ce);border-radius:18px;background:#fffdf8;box-shadow:0 22px 60px rgb(52 45 45 / 22%)}.modal-close{position:absolute;top:14px;right:15px;width:30px;height:30px;padding:0;border-radius:9px;background:transparent;color:var(--kitty-muted,#8b7470);font-size:22px}.modal-card h2{margin:0;font-size:24px}.modal-desc{margin:8px 0 20px;color:var(--kitty-muted,#8b7470);font-size:12px}.modal-card label{display:block;margin-top:14px;color:var(--kitty-ink,#342d2d);font-size:12px;font-weight:700}.modal-card input,.modal-card select,.modal-card textarea{width:100%;margin-top:7px}.modal-card textarea{padding:12px;line-height:1.7}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.ghost-button{padding:11px 16px;border:1px solid var(--kitty-line,#ead9ce);border-radius:11px;background:transparent;color:var(--kitty-muted,#8b7470);font-size:12px;font-weight:700}.ghost-button:hover{background:#fff0e8;color:var(--kitty-red,#d63b45)}
@media(max-width:820px){.communication-heading{align-items:flex-start;flex-direction:column}.script-layout{grid-template-columns:1fr}.script-sidebar{padding:12px}.script-sidebar nav{display:flex;overflow:auto}.script-sidebar button{min-width:max-content}.context-panel{flex-direction:column}.context-fields{width:100%;max-width:none}}@media(max-width:560px){.communication-heading h1{font-size:34px}.context-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.script-card{padding:18px 15px}.script-card-head{flex-direction:column}.copy-button{width:100%;justify-content:center}.script-content{font-size:14px;padding:15px}.modal-card{padding:22px 18px}}

/* Compact communication header and explicit Kitty button states. */
body[data-page="communication"] .communication-heading{align-items:center;margin:-18px 0 18px;flex-wrap:nowrap}
body[data-page="communication"] .communication-heading .script-tabs{flex:0 1 420px;width:min(100%,420px);margin:0}
body[data-page="communication"] .heading-actions{display:flex;align-items:center;gap:8px}
body[data-page="communication"] .context-hint{margin:8px 0 0;color:var(--kitty-muted,#8b7470);font-size:11px}
.inline-create{display:flex;gap:8px;align-items:center;margin-top:7px}.inline-create input{margin-top:0!important;flex:1}.inline-create .ghost-button{padding:8px 10px;white-space:nowrap}
.modal-actions .save-button{padding:10px 14px;font-size:12px}.modal-card select{appearance:none;padding-right:42px;background-color:#fffdf8;background-image:linear-gradient(45deg,transparent 50%,#a66f78 50%),linear-gradient(135deg,#a66f78 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.ai-script-generate{display:block;margin-top:7px}
.form-section>.form-footer{grid-column:2;width:100%;box-sizing:border-box}.form-footer .save-button,.text-ai-actions .save-button,.text-ai-actions .ghost-button{min-width:118px;height:40px;justify-content:center;padding:0 14px;font-size:12px}.category-actions{display:flex;gap:8px;margin-top:8px}.category-add-button,.category-remove-button{display:inline-flex;padding:8px 10px;vertical-align:middle}.modal-card select{min-width:0}
/* 注意：所有自定义 select 都要给右侧箭头预留足够内边距，避免贴边。 */
select{appearance:none;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,#a66f78 50%),linear-gradient(135deg,#a66f78 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
body[data-page="communication"] .script-tabs button{background:#fffdf8;color:var(--kitty-muted,#8b7470)}
body[data-page="communication"] .script-tabs button.is-active{background:var(--kitty-red,#d63b45);color:#fff}
body[data-page="communication"] .script-sidebar button{background:#fffdf8;color:var(--kitty-ink,#342d2d)}
body[data-page="communication"] .script-sidebar button:hover,body[data-page="communication"] .script-sidebar button.is-active{background:#fff0e8;color:var(--kitty-red,#d63b45)}
body[data-page="communication"] .context-panel{padding:10px 14px}
body[data-page="communication"] .context-fields{max-width:none}
body[data-page="communication"] .script-tabs{position:relative;display:grid;grid-template-columns:repeat(var(--tab-count,2),minmax(0,1fr));gap:3px;align-items:stretch;padding:4px;border:0;border-radius:14px;background:#f5d9d5;overflow:hidden}
body[data-page="communication"] .script-tabs::before{content:"";position:absolute;z-index:0;inset:4px auto 4px 4px;width:calc((100% - 8px) / var(--tab-count,2));border-radius:10px;background:var(--kitty-red,#d63b45);box-shadow:0 4px 10px rgb(214 59 69 / 18%);transform:translateX(calc(var(--tab-index,0) * (100% + 3px)));transition:transform .28s cubic-bezier(.22,.8,.32,1)}
body[data-page="communication"] .script-tabs button{position:relative;z-index:1;width:100%;padding:9px 14px;border:0;background:transparent!important;color:#8b5e5a;font-size:12px;transition:color .22s ease}
body[data-page="communication"] .script-tabs button.is-active{color:#fff}
body[data-page="communication"] .script-sidebar button,body[data-page="communication"] .script-sidebar button:not(:hover):not(.is-active){background:#fffdf8;color:var(--kitty-ink,#342d2d)}
body[data-page="communication"] .script-sidebar button.is-active{background:var(--kitty-red,#d63b45);color:#fff;box-shadow:0 5px 12px rgb(214 59 69 / 16%)}
body[data-page="communication"] .script-sidebar button.is-active span{color:#fff}
body[data-page="communication"] .script-sidebar button:not(.is-active){background:#fffdf8 !important;color:#342d2d !important}
body[data-page="communication"] .script-sidebar button:not(.is-active) span{color:var(--kitty-red,#d63b45) !important}
body[data-page="communication"] .script-sidebar button:hover:not(.is-active){background:#fff0e8;color:var(--kitty-red,#d63b45)}
body[data-page="communication"] .context-fields label{font-size:0;color:transparent}
body[data-page="communication"] .context-fields input,body[data-page="communication"] .context-fields select{height:36px;margin-top:0;padding:0 9px;font-size:12px;color:var(--kitty-ink,#342d2d)}
body[data-page="communication"] .context-fields select{padding-right:42px;background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%}
body[data-page="communication"] .communication-heading .script-tabs{min-width:0;flex:0 1 auto;width:max-content;max-width:calc(100% - 190px)} body[data-page="communication"] .heading-actions{flex:0 0 auto;white-space:nowrap}
.model-presets{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.model-chip{padding:6px 10px;border:1px solid var(--kitty-line,#ead9ce);border-radius:999px;background:#fffaf2;color:var(--kitty-muted,#8b7470);font-size:11px;cursor:pointer}.model-chip:hover{background:#fff0e8;color:var(--kitty-red,#d63b45)}.text-ai-actions{display:flex;justify-content:flex-end;gap:10px;width:100%;margin-top:4px}.category-add-button{margin-left:0}
.inline-edit-actions{display:flex;gap:8px;margin-top:10px}.inline-edit-actions button{min-width:88px}.script-content textarea{width:100%;box-sizing:border-box;min-height:180px;padding:14px;border:1px solid var(--kitty-line,#ead9ce);border-radius:10px;background:#fffdf8;color:var(--kitty-ink,#342d2d);font:inherit;line-height:1.8;resize:vertical}.script-note input{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--kitty-line,#ead9ce);border-radius:9px;background:#fffdf8}.loading-spinner{display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.ai-title-row{display:flex;align-items:center;gap:8px;margin-top:7px}.ai-title-row input{margin-top:0!important;flex:1}.ai-title-row .ai-script-generate{margin:0;white-space:nowrap}.ai-supplement{margin-top:12px;border:1px solid var(--kitty-line,#ead9ce);border-radius:10px;background:#fffaf5}.ai-supplement summary{padding:9px 11px;color:var(--kitty-muted,#8b7470);font-size:11px;font-weight:700;cursor:pointer}.ai-supplement-body{padding:0 11px 11px}.ai-conditions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:2px 0 9px}.ai-conditions label{display:inline-flex;align-items:center;height:30px;margin:0!important;font-size:11px!important;font-weight:600!important;line-height:1}.ai-conditions input{flex:none;width:auto!important;margin:0 5px 0 0!important}.ai-length-label{gap:6px}.ai-length-label select{width:auto;height:30px;margin:0;padding:0 28px 0 8px;font-size:11px;line-height:30px}.ai-supplement-body>textarea{width:100%;box-sizing:border-box;min-height:70px;padding:10px;border:1px solid var(--kitty-line,#ead9ce);border-radius:9px;background:#fffdf8;color:var(--kitty-ink,#342d2d);font:inherit;line-height:1.6}
.script-card>.copy-button{display:flex;margin:14px 0 0 auto}.script-card-head .edit-script-button{white-space:nowrap}.danger-button{padding:10px 14px;border:1px solid #d58b93;border-radius:11px;background:#fff2f1;color:#b33e4b;font-size:12px;font-weight:700}.danger-button:hover{background:#ffe4e1}
body[data-page="communication"] .context-fields label.hidden{display:none}
@media(max-width:820px){body[data-page="communication"] .communication-heading{align-items:center;flex-direction:row;gap:10px;overflow-x:auto}.communication-heading .script-tabs{width:auto;max-width:none;min-width:220px}.communication-heading .settings-link{align-self:auto}}

/* Hello Kitty is the default visual language: cream canvas, cherry red controls,
   charcoal copy, and small ribbon/cat details used consistently across pages. */
body[data-theme="hello-kitty"] {
  --kitty-cream: #fffaf0; --kitty-paper: #fffdf8; --kitty-red: #d63b45;
  --kitty-red-dark: #b82e3a; --kitty-ink: #342d2d; --kitty-muted: #8b7470;
  --kitty-line: #ead9ce; --kitty-blush: #f5d9d5;
  color: var(--kitty-ink); background-color: var(--kitty-cream);
  background-image: radial-gradient(circle at 12% 15%, #f8ded8 0 2px, transparent 2.5px), radial-gradient(circle at 88% 78%, #f6e1d8 0 2px, transparent 2.5px), linear-gradient(145deg, #fffdf8, #f8eee8);
  background-size: 28px 28px, 34px 34px, auto;
}
body[data-theme="hello-kitty"]::before { content: ""; position: fixed; z-index: 0; top: 16px; right: 24px; width: 62px; height: 36px; opacity: .17; background: var(--kitty-red); clip-path: polygon(0 20%, 36% 0, 50% 18%, 64% 0, 100% 20%, 72% 48%, 100% 80%, 62% 100%, 50% 70%, 38% 100%, 0 80%, 28% 48%); }
/* Every page keeps a large Kitty backdrop in the lower-right corner. */
body[data-theme="hello-kitty"]::after { content: ""; position: fixed; z-index: 0; right: 18px; bottom: 8px; width: 440px; height: 384px; opacity: .18; background: url('/kitty-assets/kitty-logo.png') center / contain no-repeat; transform: rotate(7deg); pointer-events: none; }
body[data-theme="hello-kitty"] .shell { position: relative; z-index: 1; }
body[data-theme="hello-kitty"] .shell::before, body[data-theme="hello-kitty"] .shell::after { content: ""; position: fixed; z-index: 0; width: 150px; height: 190px; opacity: .18; background-position: center; background-repeat: no-repeat; background-size: contain; pointer-events: none; }
body[data-theme="hello-kitty"] .shell::before { left: 5vw; top: 24vh; background-image: url('/kitty-assets/download-1.png'); transform: rotate(-9deg); }
body[data-theme="hello-kitty"] .shell::after { right: 7vw; top: 18vh; background-image: url('/kitty-assets/download-3.png'); transform: rotate(8deg); }
body[data-theme="hello-kitty"] .card, body[data-theme="hello-kitty"] .tool-card, body[data-theme="hello-kitty"] .user-popover { border-color: var(--kitty-line); background: color-mix(in srgb, var(--kitty-paper) 94%, #f8e5df); box-shadow: 0 18px 45px rgb(119 73 65 / 10%); }
body[data-theme="hello-kitty"] .auth-intro { background: linear-gradient(150deg, #fff7ed, #f6ddd7); }
body[data-theme="hello-kitty"] .auth-intro::after { content: ""; position: absolute; right: 44px; bottom: 88px; width: 86px; height: 70px; border: 3px solid #d63b45; border-radius: 48% 48% 42% 42%; opacity: .2; clip-path: polygon(0 22%, 27% 0, 43% 14%, 57% 14%, 73% 0, 100% 22%, 86% 100%, 14% 100%); }
body[data-theme="hello-kitty"] .auth-orb { color: var(--kitty-red); }
body[data-theme="hello-kitty"] .kicker, body[data-theme="hello-kitty"] h1 span, body[data-theme="hello-kitty"] .settings-link, body[data-theme="hello-kitty"] .back, body[data-theme="hello-kitty"] .link-button { color: var(--kitty-red); }
body[data-theme="hello-kitty"] button, body[data-theme="hello-kitty"] .auth-submit { background: var(--kitty-red); }
body[data-theme="hello-kitty"] button:hover { background: var(--kitty-red-dark); }
body[data-theme="hello-kitty"] input, body[data-theme="hello-kitty"] textarea, body[data-theme="hello-kitty"] select { border-color: var(--kitty-line); background: #fffdf9; color: var(--kitty-ink); }
body[data-theme="hello-kitty"] input:focus, body[data-theme="hello-kitty"] textarea:focus { border-color: var(--kitty-red); box-shadow: 0 0 0 3px #d63b4525; }
body[data-theme="hello-kitty"] .tool-icon { background: var(--kitty-blush); color: var(--kitty-red); }
body[data-theme="hello-kitty"] .tool-icon { background-image: url('/kitty-assets/frame-03.png'); background-size: 36px; background-repeat: no-repeat; background-position: center; font-size: 0; }
body[data-theme="hello-kitty"] .tool-card:nth-child(2) .tool-icon { background-image: url('/kitty-assets/frame-05.png'); }
body[data-theme="hello-kitty"] .tool-card:nth-child(3) .tool-icon { background-image: url('/kitty-assets/frame-07.png'); }
body[data-theme="hello-kitty"] .tool-card:nth-child(4) .tool-icon { background-image: url('/kitty-assets/frame-09.png'); }
body[data-theme="hello-kitty"] .tool-card.featured { background: linear-gradient(145deg, #fffdf8, #f8e1db); }

/* File center: a compact desktop file manager that stays usable as it gains real files. */
.files-shell{max-width:1240px}.file-center{width:100%;max-width:1160px;margin:0 auto}.file-center-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.file-center-heading .kicker{margin:0 0 8px}.file-center-heading h1{margin:0;color:var(--kitty-ink,#342d2d);font-size:30px;letter-spacing:0}.file-heading-actions{display:flex;align-items:center;gap:9px}.file-icon-button,.file-primary-button,.file-new-folder{font:inherit;font-size:12px;font-weight:700}.file-icon-button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--kitty-line,#ead9ce);border-radius:9px;background:transparent;color:var(--kitty-muted,#8b7470);font-size:20px;line-height:1}.file-primary-button{height:38px;padding:0 15px;border:1px solid var(--kitty-red,#d63b45);border-radius:8px;background:var(--kitty-red,#d63b45);color:#fff}.file-new-folder{padding:8px 11px;border:1px solid var(--kitty-line,#ead9ce);border-radius:7px;background:transparent;color:var(--kitty-muted,#8b7470)}.file-icon-button:disabled,.file-primary-button:disabled,.file-new-folder:disabled{cursor:not-allowed;opacity:.5}.file-workspace{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:590px;border:1px solid var(--kitty-line,#ead9ce);border-radius:12px;background:color-mix(in srgb,var(--kitty-paper,#fffdf8) 92%,#f9e7e0);box-shadow:0 18px 45px rgb(119 73 65 / 8%);overflow:hidden}.file-sidebar{display:flex;flex-direction:column;padding:19px 10px 14px;border-right:1px solid var(--kitty-line,#ead9ce);background:rgb(255 250 247 / 62%)}.file-sidebar-label{padding:0 10px 10px;color:var(--kitty-muted,#8b7470);font-size:11px;font-weight:700;letter-spacing:.08em}.file-directory-nav{display:grid;gap:3px}.file-directory-nav a{display:flex;align-items:center;gap:9px;min-width:0;padding:10px;border-radius:7px;color:var(--kitty-ink,#342d2d);font-size:12px;font-weight:600;text-decoration:none}.file-directory-nav a:hover{background:var(--kitty-blush,#f9e1dd)}.file-directory-nav a.is-current{background:var(--kitty-blush,#f9e1dd);color:var(--kitty-red,#d63b45)}.nav-folder-mark{position:relative;display:block;width:15px;height:11px;border-radius:2px;background:#e8b563}.nav-folder-mark::before{position:absolute;top:-3px;left:1px;width:7px;height:4px;border-radius:2px 2px 0 0;background:#f2cb82;content:""}.nav-count{margin-left:auto;color:var(--kitty-muted,#8b7470);font-size:10px;font-variant-numeric:tabular-nums}.file-sidebar-footer{margin-top:auto;padding:15px 10px 0;border-top:1px solid var(--kitty-line,#ead9ce);color:var(--kitty-muted,#8b7470);font-size:10px}.file-sidebar-footer span,.file-sidebar-footer strong{display:block}.file-sidebar-footer strong{margin-top:5px;color:var(--kitty-ink,#342d2d);font-size:11px}.file-sidebar-footer i{display:block;height:4px;margin-top:10px;border-radius:99px;background:#f0dfda;overflow:hidden}.file-sidebar-footer i b{display:block;width:0;height:100%;background:var(--kitty-red,#d63b45)}.file-content{min-width:0;padding:26px 30px}.file-breadcrumb{display:flex;align-items:center;gap:8px;color:var(--kitty-muted,#8b7470);font-size:11px}.file-breadcrumb b{color:#c6aeb0;font-size:16px;font-weight:400}.file-breadcrumb strong{color:var(--kitty-ink,#342d2d);font-weight:700}.file-content-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 18px}.file-content-toolbar h2{margin:0 0 5px;color:var(--kitty-ink,#342d2d);font-size:18px}.file-content-toolbar span{color:var(--kitty-muted,#8b7470);font-size:11px}.folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.folder-card{display:grid;min-width:0;padding:15px;border:1px solid var(--kitty-line,#ead9ce);border-radius:8px;background:rgb(255 255 255 / 44%);color:var(--kitty-ink,#342d2d);text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s}.folder-card:hover{border-color:#d9abb0;box-shadow:0 10px 18px rgb(119 73 65 / 8%);transform:translateY(-2px)}.folder-art,.empty-folder-art{position:relative;display:block;width:34px;height:25px;margin-bottom:16px;border-radius:3px;background:#e9b760}.folder-art::before,.empty-folder-art::before{position:absolute;top:-5px;left:2px;width:16px;height:7px;border-radius:3px 3px 0 0;background:#f3cb7e;content:""}.folder-art i,.empty-folder-art i{position:absolute;inset:3px 3px auto auto;width:5px;height:5px;border-radius:99px;background:#f8dfaa}.folder-name,.folder-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-name{font-size:13px;font-weight:700}.folder-meta{margin-top:5px;color:var(--kitty-muted,#8b7470);font-size:10px}.file-empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:195px;margin-top:26px;border-top:1px solid var(--kitty-line,#ead9ce);color:var(--kitty-muted,#8b7470)}.empty-folder-art{width:44px;height:31px;margin:0 0 13px;opacity:.55}.file-empty-state p{margin:0;font-size:11px}@media(max-width:780px){.files-shell .titlebar{margin-bottom:30px}.file-center-heading{align-items:flex-start}.file-center-heading h1{font-size:25px}.file-workspace{grid-template-columns:1fr;min-height:0}.file-sidebar{padding:14px;border-right:0;border-bottom:1px solid var(--kitty-line,#ead9ce)}.file-directory-nav{display:flex;overflow-x:auto}.file-directory-nav a{flex:none}.file-sidebar-footer{display:none}.file-content{padding:22px 18px}.folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.file-empty-state{min-height:155px}}@media(max-width:460px){.file-heading-actions{gap:6px}.file-primary-button{padding:0 10px}.file-content-toolbar{align-items:flex-start;flex-direction:column}.folder-grid{grid-template-columns:1fr}.folder-art{margin-bottom:12px}}
body[data-theme="hello-kitty"] .avatar { background: var(--kitty-blush); color: var(--kitty-red); }
body[data-theme="hello-kitty"] .avatar { border: 2px solid #fff; box-shadow: 0 0 0 1px var(--kitty-line); }
body[data-theme="hello-kitty"] .user-menu { color: #fff; }
body[data-theme="hello-kitty"] .back-icon { border-color: var(--kitty-line); color: var(--kitty-red); }
body[data-theme="hello-kitty"] .theme-preview { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--kitty-line); border-radius: 12px; background: #fff8ef; color: var(--kitty-red); }
body[data-theme="hello-kitty"] .theme-preview strong, body[data-theme="hello-kitty"] .theme-preview small { display: block; }
body[data-theme="hello-kitty"] .theme-preview strong { color: var(--kitty-ink); font-size: 13px; }
body[data-theme="hello-kitty"] .theme-preview small { margin-top: 4px; color: var(--kitty-muted); font-size: 10px; letter-spacing: .08em; }
body[data-theme="hello-kitty"] .kitty-bow { font-size: 28px; line-height: 1; }
body[data-theme="hello-kitty"] .theme-preview img { width: 54px; height: 46px; object-fit: contain; }
body[data-theme="hello-kitty"] .theme-preview img { content: url('/kitty-assets/kitty-avatar.png'); }
body[data-theme="hello-kitty"] .dashboard-shell::after { content: ""; position: fixed; z-index: 0; left: 18px; bottom: 22px; width: 100px; height: 88px; opacity: .15; background: url('/kitty-assets/download-2.png') center / contain no-repeat; transform: rotate(-8deg); }

/* Chemistry toolbox: compact filters with image-led resource cards. */
.chemistry-shell{max-width:1240px}.chemistry-center{width:100%;max-width:1160px;margin:0 auto}.chemistry-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.chemistry-heading h1{margin:0;color:var(--kitty-ink,#342d2d);font-size:30px;letter-spacing:0}.chemistry-heading p:not(.kicker){margin:8px 0 0;color:var(--kitty-muted,#8b7470);font-size:12px}.chemistry-mark{color:var(--kitty-red,#d63b45);font-size:42px;line-height:1;opacity:.75}.chemistry-workspace{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:560px;border:1px solid var(--kitty-line,#ead9ce);border-radius:12px;background:color-mix(in srgb,var(--kitty-paper,#fffdf8) 92%,#f9e7e0);box-shadow:0 18px 45px rgb(119 73 65 / 8%);overflow:hidden}.chemistry-sidebar{display:flex;flex-direction:column;padding:22px 14px;border-right:1px solid var(--kitty-line,#ead9ce);background:rgb(255 250 247 / 62%)}.chemistry-sidebar-label{padding:0 8px 12px;color:var(--kitty-muted,#8b7470);font-size:11px;font-weight:700;letter-spacing:.08em}.chemistry-check{display:flex;align-items:center;gap:9px;margin:0;padding:10px 8px;border-radius:8px;color:var(--kitty-ink,#342d2d);font-size:12px;font-weight:600;cursor:pointer}.chemistry-check:hover{background:var(--kitty-blush,#f5d9d5)}.chemistry-check input{position:absolute;width:1px;height:1px;opacity:0}.check-mark{display:grid;place-items:center;width:16px;height:16px;border:1px solid #d5b7b4;border-radius:4px;background:#fff}.chemistry-check input:checked+.check-mark{border-color:var(--kitty-red,#d63b45);background:var(--kitty-red,#d63b45)}.chemistry-check input:checked+.check-mark::after{width:7px;height:4px;border-bottom:2px solid #fff;border-left:2px solid #fff;content:"";transform:rotate(-45deg) translate(1px,-1px)}.chemistry-check b{margin-left:auto;color:var(--kitty-muted,#8b7470);font-size:10px;font-weight:500}.chemistry-reset{margin:18px 8px 0;padding:9px 10px;border:1px solid var(--kitty-line,#ead9ce);border-radius:7px;background:transparent;color:var(--kitty-muted,#8b7470);font-size:11px}.chemistry-reset:hover{background:#fff0e8;color:var(--kitty-red,#d63b45)}.chemistry-content{min-width:0;padding:26px 30px}.chemistry-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.chemistry-toolbar h2{margin:0 0 5px;color:var(--kitty-ink,#342d2d);font-size:18px}.chemistry-toolbar span{color:var(--kitty-muted,#8b7470);font-size:11px}.chemistry-tip{padding:7px 10px;border:1px solid var(--kitty-line,#ead9ce);border-radius:7px;background:#fffaf7}.chemistry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.chemistry-card{position:relative;display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--kitty-line,#ead9ce);border-radius:10px;background:rgb(255 255 255 / 55%);color:var(--kitty-ink,#342d2d);text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}.chemistry-card:hover{border-color:#d3a0a7;box-shadow:0 16px 28px rgb(119 73 65 / 12%);transform:translateY(-4px)}.chemistry-preview{position:relative;aspect-ratio:1.75;overflow:hidden;background:#f6e4e2}.chemistry-preview img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.chemistry-card:hover .chemistry-preview img{transform:scale(1.04)}.chemistry-preview i{position:absolute;top:10px;right:10px;padding:5px 7px;border-radius:5px;background:#ffffffd9;color:#86636a;font-size:10px;font-style:normal}.chemistry-card-body{padding:14px 15px 17px}.chemistry-card h3{margin:0 0 6px;font-size:15px}.chemistry-card p{display:-webkit-box;margin:0 0 13px;overflow:hidden;color:var(--kitty-muted,#8b7470);font-size:11px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.chemistry-tags{display:flex;flex-wrap:wrap;gap:5px}.chemistry-tags span{padding:4px 7px;border-radius:5px;background:#f9e1dd;color:#a66f78;font-size:10px}.chemistry-arrow{position:absolute;right:14px;bottom:15px;color:var(--kitty-red,#d63b45);font-size:16px}.chemistry-empty{padding:70px 0;border-top:1px solid var(--kitty-line,#ead9ce);text-align:center;color:var(--kitty-muted,#8b7470);font-size:12px}@media(max-width:780px){.chemistry-shell .titlebar{margin-bottom:30px}.chemistry-heading h1{font-size:25px}.chemistry-workspace{grid-template-columns:1fr;min-height:0}.chemistry-sidebar{padding:14px;border-right:0;border-bottom:1px solid var(--kitty-line,#ead9ce)}.chemistry-sidebar-label{padding-bottom:8px}.chemistry-check{display:inline-flex;margin-right:3px}.chemistry-reset{width:max-content;margin:10px 8px 0}.chemistry-content{padding:22px 18px}.chemistry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.chemistry-heading{align-items:flex-start}.chemistry-mark{font-size:32px}.chemistry-toolbar{align-items:flex-start;flex-direction:column}.chemistry-grid{grid-template-columns:1fr}}
body[data-theme="hello-kitty"] .avatar-gallery { display: grid; grid-template-columns: repeat(6, minmax(58px, 1fr)); gap: 8px; margin-top: 8px; }
body[data-theme="hello-kitty"] .avatar-gallery button { display: grid; place-items: center; min-height: 66px; padding: 6px; border: 1px solid var(--kitty-line); border-radius: 10px; background: #fffaf2; }
body[data-theme="hello-kitty"] .avatar-gallery button:hover, body[data-theme="hello-kitty"] .avatar-gallery button.is-selected { border-color: var(--kitty-red); background: #fff0e8; box-shadow: 0 0 0 2px #d63b4528; }
body[data-theme="hello-kitty"] .avatar-gallery img { width: 52px; height: 52px; object-fit: contain; }
body[data-theme="hello-kitty"] .profile-fields > label:has(#avatar-url) { display: none; }

/* File center additions */
.file-subtitle{margin:8px 0 0;color:var(--kitty-muted,#8b7470);font-size:12px}.file-search{display:flex;align-items:center;gap:6px;height:38px;padding:0 10px;border:1px solid var(--kitty-line,#ead9ce);border-radius:8px;background:#fffaf7;color:var(--kitty-muted,#8b7470)}.file-search input{width:130px;border:0;outline:0;background:transparent;color:var(--kitty-ink,#342d2d);font:inherit;font-size:12px}.file-category-select{color:var(--kitty-muted,#8b7470);font-size:11px}.file-category-select select{margin-left:6px;padding:7px 8px;border:1px solid var(--kitty-line,#ead9ce);border-radius:7px;background:#fffaf7;color:var(--kitty-ink,#342d2d)}.file-message{min-height:20px;margin:-10px 0 12px;color:var(--kitty-muted,#8b7470);font-size:12px}.file-message.is-error{color:#b73645}.file-list{display:grid;gap:8px}.file-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 110px 96px;align-items:center;gap:14px;padding:13px 15px;border:1px solid var(--kitty-line,#ead9ce);border-radius:9px;background:rgb(255 255 255 / 52%)}.file-row-name{display:flex;align-items:center;gap:10px;min-width:0}.file-row-icon{display:grid;place-items:center;width:30px;height:34px;border-radius:7px;background:#f9e1dd;color:var(--kitty-red,#d63b45);font-size:11px;font-weight:800}.file-row-name strong{display:block;overflow:hidden;color:var(--kitty-ink,#342d2d);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.file-row-name small,.file-row-meta{color:var(--kitty-muted,#8b7470);font-size:10px}.file-row-actions{display:flex;justify-content:flex-end;gap:5px}.file-row-actions button{padding:6px 8px;border:1px solid var(--kitty-line,#ead9ce);border-radius:6px;background:transparent;color:var(--kitty-muted,#8b7470);font-size:11px}.file-row-actions button:hover{background:#fff0e8;color:var(--kitty-red,#d63b45)}
@media(max-width:780px){.file-row{grid-template-columns:minmax(0,1fr) auto}.file-row-meta{display:none}.file-heading-actions{align-items:stretch;flex-wrap:wrap}.file-search{flex:1}.file-search input{width:100%}}
@media (max-width: 560px) { body[data-theme="hello-kitty"] .avatar-gallery { grid-template-columns: repeat(4, minmax(52px, 1fr)); } }
body[data-theme="hello-kitty"] .security-note { background: #fff1e9; color: #765c58; }
body[data-theme="hello-kitty"] .history-card, body[data-theme="hello-kitty"] .history-card.is-loading { background: #f6ded8; }
body[data-theme="hello-kitty"] .loading-shimmer { background: linear-gradient(100deg, #f6ded8 30%, #fff6ed 50%, #f6ded8 70%); background-size: 220% 100%; }
body[data-theme="hello-kitty"] .loading-text { color: var(--kitty-red); }
body[data-theme="hello-kitty"] .generate-button { box-shadow: 0 8px 18px #d63b4530; }
body[data-theme="hello-kitty"] button:not(.user-menu):not(.password-toggle):not(.link-button), body[data-theme="hello-kitty"] .auth-submit { color: #fff; }
body[data-theme="hello-kitty"] .brand-mark { color: #fff; background: var(--kitty-red); }

/* 尺寸下拉：用自定义三角替换浏览器默认的，避免它贴在边框上；同时给右侧留出呼吸空间。 */
.size-control select {
  margin-top: 7px;
  padding-right: 34px;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.6 6 6.4 11 1.6' fill='none' stroke='%23b0868c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 13px center;
  background-size: 11px 7px;
  cursor: pointer;
}
.size-control select:focus { border-color: #b77b84; box-shadow: 0 0 0 3px #dcb7bb55; outline: none; }

/* File center upload task drawer */
.file-sidebar-heading{display:flex;align-items:center;justify-content:space-between}.file-sidebar-heading button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid var(--kitty-line,#ead9ce);border-radius:7px;background:#fffaf7;color:var(--kitty-red,#d63b45);font-size:17px;line-height:1}.file-sidebar-heading button:hover{background:#fff0e8}.upload-panel{position:fixed;right:24px;bottom:22px;z-index:70;width:min(370px,calc(100vw - 30px));border:1px solid var(--kitty-line,#ead9ce);border-radius:13px;background:#fffdf8;box-shadow:0 18px 45px rgb(74 42 42 / 18%);overflow:hidden}.upload-panel-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 15px;border:0;background:#fff4ed;color:var(--kitty-ink,#342d2d);font:inherit;font-size:12px;font-weight:700;text-align:left}.upload-panel-toggle b{margin-left:10px;color:var(--kitty-red,#d63b45);transition:transform .2s}.upload-panel:not(.is-collapsed) .upload-panel-toggle b{transform:rotate(180deg)}.upload-panel-toggle span:nth-child(2){margin-left:auto;color:var(--kitty-muted,#8b7470);font-size:10px;font-weight:500}.upload-task-list{display:grid;gap:8px;max-height:280px;padding:10px 12px;overflow:auto}.upload-panel.is-collapsed .upload-task-list{display:none}.upload-task{padding:9px 10px;border:1px solid var(--kitty-line,#ead9ce);border-radius:9px;background:#fffaf7}.upload-task-head{display:flex;justify-content:space-between;gap:8px;font-size:11px}.upload-task-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-task-status{flex:none;color:var(--kitty-muted,#8b7470)}.upload-task.is-success .upload-task-status{color:#35815a}.upload-task.is-error .upload-task-status{color:#b73645}.upload-task-bar{height:5px;margin-top:8px;border-radius:99px;background:#f0dfda;overflow:hidden}.upload-task-bar i{display:block;width:0;height:100%;border-radius:inherit;background:var(--kitty-red,#d63b45);transition:width .15s}.upload-task.is-success .upload-task-bar i{background:#5ea77b}.upload-task.is-error .upload-task-bar i{background:#c4535c}
.file-heading-actions{align-items:flex-end}.file-search input{background:transparent!important;box-shadow:none!important}
.file-heading-actions{align-items:flex-end;gap:10px}.file-search{height:38px;box-sizing:border-box;margin:0;display:flex;align-items:center}.file-primary-button{height:38px;box-sizing:border-box;margin:0;white-space:nowrap}.file-row{grid-template-columns:minmax(0,1fr) 100px 180px max-content}.file-row-actions{flex-wrap:nowrap;white-space:nowrap}
.file-message{padding:8px 11px;border-radius:8px;background:transparent}.file-message.is-error{border:1px solid #e7b5ba;background:#fff1f1;font-weight:700}
