/* Generated from mini-program WXSS. */
/* Shared warm visual language for explicitly opted-in tool pages only. */
.tool-theme.photo-page,
.tool-theme.factory-page,
.tool-theme.signature-page,
.tool-theme.screen-page {
  background: linear-gradient(180deg, #f2e7d2 0%, #e9dfd1 52%, #e6ddd2 100%);
}

.tool-theme .back-button,
.tool-theme.page .back {
  padding: 0;
  border: calc(var(--rpx) * 2) solid #ddb776;
  border-radius: calc(var(--rpx) * 17);
  background: linear-gradient(145deg, #fff6df, #ffe8b3);
  box-shadow: 0 calc(var(--rpx) * 6) calc(var(--rpx) * 14) rgba(135, 85, 40, .16), inset 0 calc(var(--rpx) * 2) 0 rgba(255, 255, 255, .8);
  box-sizing: border-box;
}
.tool-theme .back-button:active,
.tool-theme.page .back:active {
  background: #ffdc91;
  box-shadow: 0 calc(var(--rpx) * 3) calc(var(--rpx) * 8) rgba(135, 85, 40, .13);
}
.tool-theme .back-chevron {
  width: calc(var(--rpx) * 15);
  height: calc(var(--rpx) * 15);
  margin-left: calc(var(--rpx) * 5);
  border-left: calc(var(--rpx) * 4) solid #744323;
  border-bottom: calc(var(--rpx) * 4) solid #744323;
  transform: rotate(45deg);
  box-sizing: border-box;
}

.tool-theme .guide-card,
.tool-theme .choose-card,
.tool-theme .editor-card,
.tool-theme .work-card,
.tool-theme .preview-card,
.tool-theme .result-card,
.tool-theme .category-list {
  border-color: #ddcfbc;
  background: #f5efe4;
  box-shadow: 0 calc(var(--rpx) * 14) calc(var(--rpx) * 34) rgba(111, 75, 44, .09);
}
.tool-theme .guide-card {
  border-color: #dfceb6;
  background: #f7eddc;
  box-shadow: none;
}
.tool-theme .guide-mark {
  background: #ffe7ad;
  color: #744323;
}
.tool-theme .selected-file,
.tool-theme .file-summary {
  border: calc(var(--rpx) * 2) solid #e8dccb;
  background: #fcf8f0;
}

.tool-theme .choose-button,
.tool-theme .voice-secondary-button,
.tool-theme .records-button {
  min-height: calc(var(--rpx) * 100);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(var(--rpx) * 18) calc(var(--rpx) * 20);
  border: calc(var(--rpx) * 2) solid #e7c56e;
  border-radius: calc(var(--rpx) * 22);
  background: linear-gradient(145deg, #fff4cf, #ffe59b);
  color: #563a1f;
  font-size: calc(var(--rpx) * 25);
  line-height: 1.3;
  font-weight: 850;
  white-space: nowrap;
  box-shadow: 0 calc(var(--rpx) * 10) calc(var(--rpx) * 24) rgba(170, 118, 50, .13), inset 0 calc(var(--rpx) * 2) 0 rgba(255, 255, 255, .74);
  box-sizing: border-box;
}
.tool-theme .choose-button:active,
.tool-theme .voice-secondary-button:active,
.tool-theme .records-button:active {
  background: #ffdf85;
  box-shadow: 0 calc(var(--rpx) * 4) calc(var(--rpx) * 12) rgba(170, 118, 50, .13);
}
.tool-theme .choose-button[disabled],
.tool-theme .voice-secondary-button[disabled] {
  border-color: #e5dccc;
  background: #eee8dd;
  color: #978a78;
  opacity: 1;
  box-shadow: none;
}

.tool-theme .confirm-button,
.tool-theme .convert-button,
.tool-theme .save-button,
.tool-theme .start-button,
.tool-theme .primary,
.tool-theme .dice-gate-button {
  min-height: calc(var(--rpx) * 100);
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(var(--rpx) * 22) calc(var(--rpx) * 16);
  border: calc(var(--rpx) * 2) solid #eb744c;
  border-radius: calc(var(--rpx) * 22);
  background: linear-gradient(115deg, #ffad72, #ff8656 68%, #ff7044);
  color: #2c1d17;
  font-size: calc(var(--rpx) * 25);
  line-height: 1.3;
  font-weight: 900;
  white-space: nowrap;
  box-shadow: 0 calc(var(--rpx) * 16) calc(var(--rpx) * 34) rgba(217, 110, 59, .24), inset 0 calc(var(--rpx) * 2) 0 rgba(255, 255, 255, .57);
  box-sizing: border-box;
}
.tool-theme .confirm-button:active,
.tool-theme .convert-button:active,
.tool-theme .save-button:active,
.tool-theme .start-button:active,
.tool-theme .primary:active,
.tool-theme .dice-gate-button:active {
  background: #ff784a;
  box-shadow: 0 calc(var(--rpx) * 6) calc(var(--rpx) * 18) rgba(217, 110, 59, .18);
}
.tool-theme .confirm-button[disabled],
.tool-theme .convert-button[disabled],
.tool-theme .save-button[disabled],
.tool-theme .start-button[disabled],
.tool-theme .dice-gate-button[disabled] {
  border-color: #e5dccc;
  background: #eee8dd;
  color: #978a78;
  opacity: 1;
  box-shadow: none;
}

.tool-theme .advanced-toggle,
.tool-theme .reset-button {
  min-height: calc(var(--rpx) * 88);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(var(--rpx) * 12) calc(var(--rpx) * 16);
  border: calc(var(--rpx) * 2) solid #e4d7c4;
  border-radius: calc(var(--rpx) * 20);
  background: #f3ecdf;
  color: #675b4e;
  font-size: calc(var(--rpx) * 23);
  line-height: 1.3;
  font-weight: 800;
  box-sizing: border-box;
}
.tool-theme .advanced-toggle:active,
.tool-theme .reset-button:active { background: #ebe0cf; }

.tool-theme .signature-input,
.tool-theme .picker-value,
.tool-theme .target-picker {
  border-color: #d9c4aa;
  background: #fcf8f0;
}
.tool-theme .style-selected,
.tool-theme .color-option-active,
.tool-theme .voice-profile-selected {
  border-color: #d19c54;
  background: #fff0c9;
  box-shadow: 0 calc(var(--rpx) * 4) calc(var(--rpx) * 12) rgba(170, 118, 50, .13);
}
.tool-theme .voice-record-button {
  border-color: #e99561;
  background: radial-gradient(circle at 30% 22%, #fff3c5 0%, #ffd68e 47%, #ff9e68 100%);
  color: #673a20;
  box-shadow: 0 calc(var(--rpx) * 10) calc(var(--rpx) * 24) rgba(196, 120, 67, .21), inset 0 calc(var(--rpx) * 3) calc(var(--rpx) * 5) rgba(255, 255, 255, .68);
}
.tool-theme .voice-recording { background: #ff8a62; }

.tool-theme .choice-card {
  border-color: #d1b799;
  box-shadow: 0 calc(var(--rpx) * 10) calc(var(--rpx) * 24) rgba(111, 75, 44, .13);
}
.tool-theme .start-scrim { background: rgba(242, 231, 210, .78); }

.signature-page { min-height: 100vh; padding: 0 calc(var(--rpx) * 28); background: #f5f3ee; color: #181714; box-sizing: border-box; }
.page-header { display: flex; align-items: center; padding: calc(var(--rpx) * 10) 0 calc(var(--rpx) * 30); }
.back-button { width: calc(var(--rpx) * 54); height: calc(var(--rpx) * 54); min-width: calc(var(--rpx) * 54); max-width: calc(var(--rpx) * 54); min-height: calc(var(--rpx) * 54); max-height: calc(var(--rpx) * 54); flex: 0 0 calc(var(--rpx) * 54); display: flex; align-items: center; justify-content: center; margin: 0; padding: 0 0 calc(var(--rpx) * 4); border: calc(var(--rpx) * 3) solid #181714; border-radius: calc(var(--rpx) * 17); background: #fff; color: #181714; font-size: calc(var(--rpx) * 39); line-height: 1; box-sizing: border-box; box-shadow: calc(var(--rpx) * 4) calc(var(--rpx) * 4) 0 #181714; }
.back-button::after, .save-button::after { border: 0; }
.header-copy { min-width: 0; flex: 1; margin-left: calc(var(--rpx) * 17); }
.header-eyebrow { color: #88837a; font-size: calc(var(--rpx) * 19); font-weight: 600; letter-spacing: calc(var(--rpx) * 1); }
.header-title { margin-top: calc(var(--rpx) * 3); font-size: calc(var(--rpx) * 39); line-height: 1; font-weight: 900; }
.quota-badge { flex: 0 0 auto; padding: calc(var(--rpx) * 9) calc(var(--rpx) * 14); border: calc(var(--rpx) * 2) solid #181714; border-radius: calc(var(--rpx) * 999); background: #ffe269; font-size: calc(var(--rpx) * 17); font-weight: 900; white-space: nowrap; }
.guide-card, .editor-card, .preview-card { margin-bottom: calc(var(--rpx) * 24); padding: calc(var(--rpx) * 24); border: calc(var(--rpx) * 2) solid #ded8ce; border-radius: calc(var(--rpx) * 24); background: #fff; box-sizing: border-box; }
.guide-card { display: flex; align-items: center; flex-wrap: wrap; gap: calc(var(--rpx) * 14); padding: calc(var(--rpx) * 18) calc(var(--rpx) * 20); background: #fff7e0; border-color: #eadcae; }
.guide-mark { flex: 0 0 auto; padding: calc(var(--rpx) * 7) calc(var(--rpx) * 11); border-radius: calc(var(--rpx) * 999); background: #ffe269; color: #181714; font-size: calc(var(--rpx) * 15); line-height: 1; font-weight: 900; }
.guide-copy { min-width: 0; flex: 1 1 calc(var(--rpx) * 360); color: #5f5849; font-size: calc(var(--rpx) * 17); line-height: 1.45; }
.section-title { font-size: calc(var(--rpx) * 27); font-weight: 900; }
.signature-input { height: calc(var(--rpx) * 88); margin-top: calc(var(--rpx) * 18); padding: 0 calc(var(--rpx) * 18); border: calc(var(--rpx) * 2) solid #181714; border-radius: calc(var(--rpx) * 16); background: #fffdf8; font-size: calc(var(--rpx) * 27); box-sizing: border-box; }
.field-hint { margin-top: calc(var(--rpx) * 13); color: #777269; font-size: calc(var(--rpx) * 17); line-height: 1.45; }
.styles-title { margin-top: calc(var(--rpx) * 30); }
.font-category-scroll { width: 100%; margin: calc(var(--rpx) * 16) 0; white-space: nowrap; }
.font-category-list { display: inline-flex; align-items: center; gap: calc(var(--rpx) * 12); padding: calc(var(--rpx) * 2) 0; }
.signature-page .font-category-button { flex: 0 0 auto; width: auto; min-height: 44px; margin: 0; padding: 0 calc(var(--rpx) * 20); display: flex; align-items: center; justify-content: center; border: calc(var(--rpx) * 2) solid #ded2bd; border-radius: calc(var(--rpx) * 18); background: #fffaf0; color: #655646; font-size: calc(var(--rpx) * 24); line-height: 1.3; box-sizing: border-box; }
.font-category-button::after { border: 0; }
.signature-page .font-category-selected { border-color: #e7bb67; background: #ffe8b3; color: #744323; font-weight: 750; }
.style-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(var(--rpx) * 12); margin-top: calc(var(--rpx) * 18); }
.style-option { min-width: 0; min-height: calc(var(--rpx) * 78); display: flex; flex-direction: column; justify-content: center; padding: calc(var(--rpx) * 9) calc(var(--rpx) * 14); border: calc(var(--rpx) * 2) solid #d5d0c7; border-radius: calc(var(--rpx) * 15); background: #fffdf8; box-sizing: border-box; }
.style-selected { border-color: #181714; background: #ffe9bf; box-shadow: calc(var(--rpx) * 3) calc(var(--rpx) * 3) 0 #181714; }
.style-name { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: calc(var(--rpx) * 19); font-weight: 800; }
.style-category { margin-top: calc(var(--rpx) * 3); color: #777269; font-size: calc(var(--rpx) * 15); }
.preview-heading { display: flex; align-items: center; justify-content: space-between; }
.preview-status { color: #d94f28; font-size: calc(var(--rpx) * 17); font-weight: 800; }
.preview-checker { min-height: calc(var(--rpx) * 300); display: flex; align-items: center; justify-content: center; margin-top: calc(var(--rpx) * 20); padding: calc(var(--rpx) * 22); overflow: hidden; border: calc(var(--rpx) * 2) solid #cfc9bf; border-radius: calc(var(--rpx) * 18); background-color: #fff; background-image: linear-gradient(45deg, #e9e7e2 25%, transparent 25%), linear-gradient(-45deg, #e9e7e2 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #e9e7e2 75%), linear-gradient(-45deg, transparent 75%, #e9e7e2 75%); background-size: calc(var(--rpx) * 36) calc(var(--rpx) * 36); background-position: 0 0, 0 calc(var(--rpx) * 18), calc(var(--rpx) * 18) calc(var(--rpx) * -18), calc(var(--rpx) * -18) 0; box-sizing: border-box; }
.preview-checker image { width: 100%; height: calc(var(--rpx) * 240); }
.preview-empty { padding: calc(var(--rpx) * 15); color: #777269; font-size: calc(var(--rpx) * 19); text-align: center; }
.result-info { margin-top: calc(var(--rpx) * 13); color: #777269; font-size: calc(var(--rpx) * 17); }
.save-button { width: 100%; min-height: 44px; margin: calc(var(--rpx) * 20) 0 0; padding: 0 calc(var(--rpx) * 16); border: calc(var(--rpx) * 3) solid #181714; border-radius: calc(var(--rpx) * 19); background: #ff7044; color: #181714; font-size: calc(var(--rpx) * 22); line-height: 44px; font-weight: 900; box-shadow: calc(var(--rpx) * 5) calc(var(--rpx) * 5) 0 #181714; box-sizing: border-box; }
.save-button[disabled] { opacity: .55; }
.error-card { margin-bottom: calc(var(--rpx) * 20); padding: calc(var(--rpx) * 18); border: calc(var(--rpx) * 2) solid #ef9f89; border-radius: calc(var(--rpx) * 17); background: #fff0eb; color: #b73e25; font-size: calc(var(--rpx) * 18); line-height: 1.5; }
.bottom-space { height: calc(env(safe-area-inset-bottom) + calc(var(--rpx) * 45)); }
@media (max-width: 350px) { .signature-page { padding-left: calc(var(--rpx) * 20); padding-right: calc(var(--rpx) * 20); } .editor-card, .preview-card { padding: calc(var(--rpx) * 19); } .style-name { font-size: calc(var(--rpx) * 17); } .quota-badge { font-size: calc(var(--rpx) * 15); } }

.lookup-page .header-title { font-size: calc(var(--rpx) * 35); line-height: 1.2; }
.lookup-tabs { display: flex; gap: calc(var(--rpx) * 12); margin-bottom: calc(var(--rpx) * 24); }
.lookup-tab { flex: 1; min-width: 0; min-height: 48px; margin: 0; padding: calc(var(--rpx) * 12) calc(var(--rpx) * 8); display: flex; align-items: center; justify-content: center; border: calc(var(--rpx) * 2) solid #ddcfbc; border-radius: calc(var(--rpx) * 22); background: #f5efe4; color: #655646; font-size: calc(var(--rpx) * 25); line-height: 1.3; font-weight: 750; box-sizing: border-box; }
.lookup-tab::after, .lookup-copy::after { border: 0; }
.lookup-tab-selected { border-color: #e7bb67; background: #ffe8b3; color: #744323; }
.lookup-tab:active { background: #ffdc91; }
.lookup-page .section-title { color: #493826; font-size: calc(var(--rpx) * 29); }
.lookup-input-heading { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: calc(var(--rpx) * 16); }
.lookup-page .lookup-my-ip { flex: 0 0 auto; width: auto; height: 32px; min-height: 32px; margin: 0 0 0 auto; padding: 0 calc(var(--rpx) * 16); display: flex; align-items: center; justify-content: center; border: calc(var(--rpx) * 2) solid #d8b78c; border-radius: calc(var(--rpx) * 14); background: #fff3d6; color: #744323; font-size: calc(var(--rpx) * 24); line-height: 1.3; box-sizing: border-box; }
.lookup-my-ip::after { border: 0; }
.lookup-my-ip:active { background: #ffe4a9; }
.lookup-my-ip[disabled] { opacity: .55; }
.lookup-page .lookup-input { height: 56px; border-color: #d8b78c; background: #fffaf2; color: #352a20; font-size: calc(var(--rpx) * 29); }
.lookup-page .field-hint { color: #655b50; font-size: calc(var(--rpx) * 24); line-height: 1.6; }
.lookup-page .lookup-query { min-height: 50px; margin-top: calc(var(--rpx) * 24); font-size: calc(var(--rpx) * 29); }
.lookup-error { margin-top: calc(var(--rpx) * 18); color: #aa3526; font-size: calc(var(--rpx) * 25); line-height: 1.5; }
.lookup-result { margin-bottom: calc(var(--rpx) * 24); padding: calc(var(--rpx) * 24); border: calc(var(--rpx) * 2) solid #ddcfbc; border-radius: calc(var(--rpx) * 24); box-sizing: border-box; }
.lookup-result-heading { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: calc(var(--rpx) * 16); }
.lookup-page .lookup-copy { flex: 0 0 auto; width: auto; height: 32px; min-height: 32px; margin: 0 0 0 auto; padding: 0 calc(var(--rpx) * 20); display: flex; align-items: center; justify-content: center; border: calc(var(--rpx) * 2) solid #d8b78c; border-radius: calc(var(--rpx) * 14); background: #fff3d6; color: #744323; font-size: calc(var(--rpx) * 24); line-height: 1.3; font-weight: 750; box-sizing: border-box; }
.lookup-copy:active { background: #ffe4a9; }
.lookup-query-value { margin: calc(var(--rpx) * 20) 0; color: #3c2f23; font-size: calc(var(--rpx) * 34); line-height: 1.5; font-weight: 800; word-break: break-all; }
.lookup-row { display: flex; align-items: flex-start; justify-content: space-between; gap: calc(var(--rpx) * 20); padding: calc(var(--rpx) * 20) 0; border-top: calc(var(--rpx) * 1) solid #ded2c0; font-size: calc(var(--rpx) * 26); line-height: 1.6; }
.lookup-label { flex: 0 0 calc(var(--rpx) * 165); color: #655b50; }
.lookup-value { min-width: 0; color: #3c2f23; text-align: right; word-break: break-all; }
.lookup-note { margin-top: calc(var(--rpx) * 18); color: #655b50; font-size: calc(var(--rpx) * 23); line-height: 1.6; }
.lookup-page .guide-copy { font-size: calc(var(--rpx) * 23); color: #655b50; line-height: 1.6; }
.lookup-page .guide-mark { font-size: calc(var(--rpx) * 21); }
@media (max-width: 350px) { .lookup-page .header-title { font-size: calc(var(--rpx) * 31); } .lookup-label { flex-basis: calc(var(--rpx) * 150); } .lookup-result { padding: calc(var(--rpx) * 19); } }
