.ap-desktop { margin:0; background:#f5f7fb; }
.ap-desktop #auto-paper { padding-right:40px; }
.ap-app .ap-side-cart { z-index:30; }
.ap-app .ap-side-cart > a { display:block; color:#fff; }
.ap-app .ap-side-cart > a:focus-visible { outline:2px solid #8ab8ff; outline-offset:3px; border-radius:8px; }
.ap-page { max-width:1240px; margin:0 auto; padding:30px 20px 40px; }
.ap-app { --ap-primary:#2a7efb; --ap-ink:#233650; --ap-muted:#7c8ca4; color:var(--ap-ink); font:14px/1.6 "Microsoft YaHei","PingFang SC",sans-serif; }
.ap-app *, .ap-app *::before, .ap-app *::after { box-sizing:border-box; }
.ap-app h1,.ap-app h2,.ap-app h3,.ap-app h4,.ap-app p { margin:0; }
.ap-app button,.ap-app input,.ap-app select { font:inherit; }
.ap-app button { height:auto; line-height:1.5; cursor:pointer; }
.ap-app fieldset { display:block; }
.ap-app button:disabled { opacity:.55; cursor:wait; }
.ap-app [hidden] { display:none !important; }
.ap-app button:focus-visible,.ap-app input:focus-visible,.ap-app select:focus-visible,.ap-app summary:focus-visible { outline:2px solid #8ab8ff; outline-offset:3px; }
.ap-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:24px; }
.ap-app .ap-eyebrow { display:block; color:var(--ap-primary); font-size:12px; letter-spacing:.7px; }
.ap-subject-switch { display:flex; align-items:center; gap:8px; color:#91a2b9; font-size:11px; }
.ap-app #ap-subject-select { width:auto; max-width:220px; height:29px; padding:0 5px; border:0; border-radius:6px; background:#edf4ff; color:var(--ap-primary); font-size:12px; }
.ap-app .ap-heading h1 { margin:6px 0; color:#1e3150; font-size:30px; line-height:1.5; font-weight:700; }
.ap-app .ap-heading p { color:var(--ap-muted); font-size:13px; }
.ap-app .ap-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:10px 18px; border:1px solid #dce5f1; border-radius:10px; background:#fff; color:#546b8b; font-size:13px; font-weight:600; text-decoration:none; line-height:1.5; }
.ap-app .ap-button--primary { border-color:transparent; background:var(--ap-primary); box-shadow:0 4px 12px #2a7efb20; color:#fff; }
.ap-app .ap-button--primary:hover { background:#176ee9; }
.ap-app .ap-button--quiet:hover { border-color:#aacaff; background:#f5f9ff; }
.ap-app .ap-button--danger { border-color:transparent; background:#d55259; color:#fff; }
.ap-cart-link b { min-width:22px; padding:0 6px; border-radius:6px; background:#edf4ff; color:var(--ap-primary); }
.ap-workflow { display:flex; align-items:center; gap:14px; max-width:520px; margin-bottom:24px; color:#6e819c; font-size:12px; }
.ap-workflow span { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.ap-workflow b { display:grid; place-items:center; width:23px; height:23px; border:1px solid #c5d9fa; border-radius:50%; background:#edf4ff; color:var(--ap-primary); font-size:12px; font-weight:500; }
.ap-workflow i { flex:1; height:1px; background:#dce5f2; }
.ap-workspace { display:grid; grid-template-columns:280px minmax(0,1fr); gap:20px; align-items:start; }
.ap-range-panel,.ap-panel { min-width:0; padding:22px; border:1px solid #e5ebf4; border-radius:16px; background:#fff; box-shadow:0 3px 14px #142e5403; }
.ap-app .ap-range-panel { position:sticky; top:18px; width:100%; max-width:none; max-height:calc(100vh - 36px); margin:0; padding:20px 16px 16px; overflow:auto; color:inherit; font:inherit; }
.ap-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:20px; }
.ap-panel-heading > div { display:flex; align-items:center; gap:9px; }
.ap-app .ap-panel-heading h2 { font-size:16px; font-weight:650; }
.ap-section-number { color:#8aa4c7; font-size:11px; letter-spacing:1px; }
.ap-app .ap-link { display:inline-flex; align-items:center; min-height:32px; padding:3px 0; border:0; background:transparent; color:var(--ap-primary); font-size:12px; text-decoration:none; }
.ap-app .ap-link--muted { color:#8c9bb1; }
.ap-range-tabs { display:flex; padding:4px; border-radius:10px; background:#f0f4fa; }
.ap-app .ap-range-tabs button { flex:1; padding:8px; border:0; border-radius:7px; background:transparent; color:#7c8da5; font-size:13px; }
.ap-app .ap-range-tabs button.is-active { background:#fff; box-shadow:0 2px 7px #2747740a; color:var(--ap-primary); font-weight:600; }
.ap-book-fields { display:grid; gap:10px; margin-top:16px; }
.ap-book-fields label { display:grid; gap:5px; color:#8090a6; font-size:11px; }
.ap-app .ap-book-fields select { box-sizing:border-box; width:100%; height:38px; padding:0 8px; border:1px solid #dfe7f1; border-radius:8px; background:#fff; color:#405c81; font-size:12px; }
.ap-tree-search { display:flex; align-items:center; gap:8px; margin:16px 0 10px; padding:0 10px; border:1px solid #e4eaf3; border-radius:8px; background:#fafcff; color:#8c9db7; }
.ap-tree-search > span { font-size:22px; }
.ap-app .ap-tree-search input { width:100%; min-width:0; height:37px; padding:0; border:0; outline:0; background:transparent; color:var(--ap-ink); font-size:12px; }
.ap-app .ap-range-help { margin-bottom:12px; color:#98a5b8; font-size:11px; }
.ap-tree { min-height:120px; max-height:430px; overflow:auto; overscroll-behavior:contain; }
.ap-tree-children { margin-left:12px; padding-left:8px; border-left:1px solid #e9eef6; }
.ap-tree-row { position:relative; display:flex; align-items:start; min-height:38px; padding:7px 2px; list-style:none; }
.ap-tree-row::-webkit-details-marker { display:none; }
.ap-tree-branch > summary::before { content:'›'; flex:0 0 13px; color:#8ca2bf; transform-origin:5px 11px; }
.ap-tree-branch[open] > summary::before { transform:rotate(90deg); }
.ap-tree-leaf > .ap-tree-row { padding-left:15px; }
.ap-tree-row label { display:flex; align-items:flex-start; gap:7px; cursor:pointer; color:#546b88; font-size:12px; }
.ap-app input[type=checkbox],.ap-app input[type=radio] { accent-color:var(--ap-primary); }
.ap-tree-row input { flex:0 0 14px; width:14px; height:14px; margin:3px 0 0; }
.ap-tree-row input:checked + span { color:var(--ap-primary); }
.ap-tree-row input:disabled + span { opacity:.65; }
.ap-app .ap-tree-empty { padding:28px 5px; color:var(--ap-muted); text-align:center; font-size:12px; }
.ap-range-selection { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:16px; padding-top:12px; border-top:1px solid #edf1f7; color:var(--ap-muted); font-size:12px; }
.ap-range-selection strong { color:var(--ap-primary); }
.ap-range-mobile-done { display:none; }
.ap-main { min-width:0; }
.ap-panel { margin-bottom:18px; }
.ap-scope-card { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; background:linear-gradient(115deg,#edf4ff,#fff 80%); border-color:#dbe8fc; }
.ap-scope-label { display:flex; align-items:center; gap:12px; min-width:0; }
.ap-scope-symbol { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border-radius:12px; background:#deebff; color:var(--ap-primary); font-size:27px; }
.ap-app .ap-scope-label h2 { margin-bottom:3px; font-size:14px; }
.ap-app .ap-scope-label p { color:#7c90ac; font-size:12px; overflow-wrap:anywhere; }
.ap-desktop .ap-scope-card > [data-open-range] { display:none; }
.ap-selected-chips { display:flex; flex-wrap:wrap; gap:7px; width:100%; max-height:110px; overflow:auto; }
.ap-selected-chips:empty { display:none; }
.ap-app .ap-range-chip { display:inline-flex; align-items:center; gap:10px; max-width:100%; padding:5px 9px; border:1px solid #d7e6fd; border-radius:7px; background:#fff; color:#5077b0; font-size:11px; text-align:left; overflow-wrap:anywhere; }
.ap-range-chip span { flex-shrink:0; color:#9cb2d0; font-size:17px; }
.ap-scenes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:23px; }
.ap-app .ap-scenes button { display:block; min-height:80px; padding:13px 12px; border:1px solid #e4eaf3; border-radius:11px; background:#fbfcfe; color:#566e8d; text-align:left; font-size:13px; font-weight:600; }
.ap-scenes button > span { margin-right:6px; font-weight:400; }
.ap-scenes small { display:block; margin-top:7px; color:#92a0b5; font-size:10px; font-weight:400; }
.ap-app .ap-scenes button.is-active { border-color:#94bfff; background:#edf4ff; color:var(--ap-primary); }
.ap-template-heading,.ap-quantity-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.ap-app .ap-template-heading h3,.ap-app .ap-quantity-heading h3 { font-size:13px; font-weight:600; }
.ap-templates { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ap-template { position:relative; min-width:0; padding:16px 14px 8px; border:1px solid #e3eaf4; border-radius:12px; background:#fff; }
.ap-template.is-selected { border-color:#78afff; box-shadow:0 0 0 2px #2a7efb0b; background:linear-gradient(135deg,#f2f7ff,#fff); }
.ap-template.is-selected::after { content:'✓'; position:absolute; top:12px; right:12px; color:var(--ap-primary); font-size:14px; }
.ap-app .ap-template-select { display:block; width:100%; padding:0; border:0; background:none; color:inherit; text-align:left; }
.ap-template-kind { color:#9aa9bc; font-size:10px; }
.ap-app .ap-template h4 { margin:8px 0; overflow-wrap:anywhere; color:var(--ap-ink); font-size:14px; font-weight:600; }
.ap-template-total { display:block; margin-bottom:11px; color:var(--ap-primary); font-size:18px; font-weight:600; }
.ap-app .ap-template-breakdown { display:flex; flex-wrap:wrap; gap:3px 8px; min-height:33px; margin-bottom:9px; color:#8899b0; font-size:10px; }
.ap-template-actions { display:flex; gap:14px; padding-top:4px; border-top:1px solid #eaf0f8; }
.ap-template-actions .ap-link { min-height:26px; font-size:11px; }
.ap-app .ap-template-add { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:145px; padding:15px; border:1px dashed #c8d8ed; border-radius:12px; background:#fcfdff; color:#7590b3; font-size:12px; }
.ap-template-add b { color:#99b9e6; font-size:25px; font-weight:400; }
.ap-config-summary { display:flex; flex-wrap:wrap; gap:6px 10px; margin-top:18px; padding-top:15px; border-top:1px solid #edf1f7; }
.ap-config-summary > span { max-width:100%; color:#8a9bb2; font-size:11px; overflow-wrap:anywhere; }
.ap-distribution { display:flex; flex-wrap:wrap; gap:14px; margin-top:14px; color:#687d9a; font-size:12px; }
.ap-distribution > span { color:#9aa8ba; }
.ap-distribution label { display:flex; align-items:center; gap:5px; }
.ap-distribution input { margin:0; }
.ap-app .ap-subtle { margin-top:8px; color:#98a5b8; font-size:11px; line-height:1.8; }
.ap-preview { scroll-margin-top:20px; }
.ap-badge { padding:1px 7px; border-radius:6px; background:#edf4ff; color:var(--ap-primary); font-size:11px; font-weight:400; }
.ap-preview-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:320px; text-align:center; }
.ap-preview-illustration { position:relative; width:94px; height:94px; margin-bottom:24px; border-radius:28px; background:linear-gradient(145deg,#edf5ff,#f4f8ff); transform:rotate(-5deg); }
.ap-preview-illustration > span { display:block; width:49px; height:63px; margin:13px auto; padding-top:0; border:2px solid #adccf7; border-radius:7px; background:#fff; color:#a2c4f5; font:46px/1 sans-serif; }
.ap-preview-illustration > i { position:absolute; right:0; bottom:5px; display:grid; place-items:center; width:33px; height:33px; border:4px solid #fff; border-radius:50%; background:#4b96ff; color:#fff; font-style:normal; font-size:14px; }
.ap-app .ap-preview-empty h3 { margin-bottom:9px; color:#5d7596; font-size:15px; font-weight:500; }
.ap-app .ap-preview-empty p { color:#9aa9bc; font-size:12px; line-height:1.9; }
.ap-app .ap-error { margin:12px 0; padding:12px 14px; border:1px solid #f4d9d9; border-radius:9px; background:#fff6f5; color:#ba5154; font-size:12px; line-height:1.8; }
.ap-stock { margin-bottom:18px; padding:12px; border:1px solid #e4ebf5; border-radius:10px; background:#fafcff; }
.ap-stock-table { width:100%; border-collapse:collapse; font-size:12px; }
.ap-stock-table th { padding:7px 5px; color:#8b9db5; text-align:left; font-weight:400; }
.ap-stock-table td { padding:8px 5px; border-top:1px solid #edf1f7; color:#627d9d; }
.ap-stock-table .is-short td { color:#c46451; }
.ap-app .ap-stock-help { margin-top:9px; color:#9a8c7f; font-size:11px; }
.ap-paper-title-label { display:grid; gap:7px; color:#94a3b8; font-size:12px; }
.ap-app #ap-paper-title { width:100%; height:44px; padding:0 12px; border:1px solid #dce5f1; border-radius:9px; background:#fcfdff; color:#385579; font-size:16px; }
.ap-app .ap-preview-note { margin:12px 0 20px; color:#8c9db4; font-size:11px; }
.ap-app .ap-question-group { margin:24px 0 12px; color:#406592; font-size:14px; }
.ap-question { margin-bottom:14px; padding:17px 0; border-bottom:1px solid #edf1f7; }
.ap-question-meta { display:flex; align-items:center; gap:12px; margin-bottom:12px; color:#99a8ba; font-size:11px; }
.ap-question-meta > span:first-child { display:grid; place-items:center; width:27px; height:27px; border-radius:7px; background:#edf4ff; color:var(--ap-primary); font-size:12px; }
.ap-app .ap-question { font-family:'WisMath','WisMathLetters','Times New Roman','Microsoft YaHei',Arial,'SimSun',serif; }
.ap-app .ap-question-body { min-width:0; width:100%; margin:0; padding:0; border:0; border-radius:0; letter-spacing:normal; }
.ap-rich { min-width:0; max-width:100%; color:#333; font-size:14px; line-height:25px; overflow-wrap:break-word; overflow-x:auto; }
.ap-question .pt1 { padding:0; overflow:auto; clear:both; }
.ap-question .pt2 { padding:0; }
.ap-rich img { max-width:100%; height:auto; vertical-align:middle; }
.ap-rich table { border-collapse:collapse; }
.ap-rich .MathJye,.ap-rich .MathJye table { max-width:none; overflow-wrap:normal; }
.ap-options > table { width:100%; table-layout:fixed; }
.ap-app .ap-options > table > tbody > tr > td { padding:5px 0; border:0; line-height:25px; vertical-align:middle; }
.ap-child { margin-top:16px; padding-left:8px; }
.ap-answer { margin-top:18px; padding:10px 12px; border-radius:8px; background:#f7faff; }
.ap-answer summary { color:#7599c8; cursor:pointer; font-size:11px; }
.ap-answer > b { display:block; margin:12px 0 4px; color:#7d92af; font-size:11px; font-weight:500; }
.ap-result-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding-top:10px; }
.ap-action-bar { position:sticky; bottom:12px; z-index:30; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:16px 20px; border:1px solid #e1e9f4; border-radius:14px; background:#fffffff5; box-shadow:0 5px 30px #1c416710; backdrop-filter:blur(12px); }
.ap-action-bar > div > span { display:block; color:#526f94; font-size:12px; }
.ap-app .ap-action-bar p { margin-top:3px; color:#93a2b7; font-size:11px; }
.ap-action-bar strong { color:var(--ap-primary); font-size:16px; }
.ap-app .ap-action-bar .ap-button { min-width:148px; height:46px; font-size:14px; }
.ap-app .ap-dialog { box-sizing:border-box; width:calc(100% - 36px); max-width:720px; max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); margin:auto; padding:0; overflow:hidden; border:0; border-radius:20px; background:#fff; box-shadow:0 22px 100px #162a4e38; color:var(--ap-ink); font:inherit; }
.ap-dialog::backdrop,.ap-range-panel::backdrop { background:#162a4e75; backdrop-filter:blur(4px); }
.ap-dialog > form { display:flex; flex-direction:column; max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); }
.ap-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:22px 26px 18px; border-bottom:1px solid #edf1f7; }
.ap-app .ap-dialog-heading h2 { margin-top:4px; font-size:19px; }
.ap-app .ap-close { display:grid; place-items:center; width:34px; height:34px; padding:0; border:0; border-radius:50%; background:#f1f5fa; color:#879bb6; font-size:22px; }
.ap-dialog-body { padding:22px 26px; overflow-y:auto; overscroll-behavior:contain; }
.ap-app .ap-dialog > form > .ap-error { flex-shrink:0; margin:12px 26px 0; }
.ap-template-name { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; color:#70849e; font-size:12px; }
.ap-app #ap-template-name { width:100%; height:40px; padding:0 10px; border:1px solid #dce5f1; border-radius:8px; color:var(--ap-ink); font-size:14px; }
.ap-once { display:flex; align-items:center; gap:5px; white-space:nowrap; }
.ap-once input { margin:0; }
.ap-filter-field { min-width:0; margin:24px 0 0; padding:0; border:0; }
.ap-filter-field legend { margin-bottom:10px; padding:0; color:#637e9f; font-size:12px; }
.ap-filter-field legend small { margin-left:8px; color:#a6b0c0; font-size:10px; }
.ap-filter-chips { display:flex; flex-wrap:wrap; gap:8px; }
.ap-filter-chips--scroll { max-height:130px; overflow:auto; }
.ap-filter-chip { position:relative; display:block; cursor:pointer; }
.ap-filter-chip input { position:absolute; width:1px; height:1px; opacity:0; }
.ap-filter-chip span,.ap-app .ap-filter-all { display:block; padding:6px 11px; border:1px solid #e5ebf4; border-radius:7px; background:#fff; color:#8295b0; font-size:11px; }
.ap-filter-chip input:checked + span,.ap-app .ap-filter-all.is-active { border-color:#accdfb; background:#edf4ff; color:var(--ap-primary); }
.ap-filter-chip input:focus-visible + span { outline:2px solid #8ab8ff; outline-offset:2px; }
.ap-quantity-heading { margin-top:26px; margin-bottom:0; }
.ap-quantity-heading > span { color:#8b9db3; font-size:11px; }
.ap-quantity-heading b { color:var(--ap-primary); }
.ap-template-counts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; margin-top:12px; }
.ap-count-row { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:55px; border-bottom:1px solid #edf1f7; color:#7289a7; font-size:12px; }
.ap-stepper { display:flex; align-items:center; flex:0 0 110px; height:33px; border:1px solid #dce5f1; border-radius:8px; overflow:hidden; }
.ap-app .ap-stepper button { flex:0 0 29px; height:100%; padding:0; border:0; background:#f7faff; color:#8aa2c1; font-size:16px; }
.ap-app .ap-stepper input { width:50px; min-width:0; height:100%; padding:0; border:0; background:#fff; color:#456c9e; text-align:center; font-size:14px; appearance:textfield; }
.ap-stepper input::-webkit-inner-spin-button,.ap-stepper input::-webkit-outer-spin-button { appearance:none; margin:0; }
.ap-dialog-actions { display:flex; justify-content:flex-end; gap:10px; padding:17px 26px; border-top:1px solid #edf1f7; background:#fcfdff; }
.ap-dialog-actions .ap-button { min-width:110px; }
.ap-app .ap-dialog--compact { max-width:440px; }
.ap-dialog--compact .ap-filter-field:first-child { margin-top:0; }
.ap-radio { display:flex; align-items:center; gap:8px; min-height:42px; color:#687f9f; font-size:13px; cursor:pointer; }
.ap-radio input { margin:0; }
.ap-radio small { color:#a1aec0; font-size:10px; }
/* Phone layout: compact setup cards, a bottom sheet for scope, and one fixed CTA. */
.ap-mobile .ap-page { padding:18px 12px calc(110px + env(safe-area-inset-bottom,0px)); }
.ap-mobile .ap-heading { align-items:flex-start; margin-bottom:16px; }
.ap-mobile .ap-heading h1 { display:none; }
.ap-mobile .ap-heading p { margin-top:7px; font-size:11px; }
.ap-mobile .ap-heading .ap-cart-link { flex-shrink:0; min-height:35px; padding:6px 9px; font-size:11px; }
.ap-mobile .ap-heading .ap-cart-link > span { display:none; }
.ap-mobile .ap-eyebrow { font-size:11px; letter-spacing:0; }
.ap-mobile .ap-workflow { gap:8px; margin-bottom:16px; font-size:10px; }
.ap-mobile .ap-workflow span { gap:5px; }
.ap-mobile .ap-workflow b { width:20px; height:20px; font-size:10px; }
.ap-mobile .ap-workspace { display:block; }
.ap-mobile .ap-panel { margin-bottom:12px; padding:17px 14px; border-radius:14px; }
.ap-mobile .ap-panel-heading { margin-bottom:16px; }
.ap-mobile .ap-panel-heading h2 { font-size:15px; }
.ap-mobile .ap-panel-heading .ap-link { font-size:11px; }
.ap-mobile .ap-scope-label { gap:8px; flex:1; }
.ap-mobile .ap-scope-symbol { flex-basis:32px; width:32px; height:32px; border-radius:9px; font-size:23px; }
.ap-mobile .ap-scope-label h2 { font-size:12px; }
.ap-mobile .ap-scope-label p { font-size:10px; }
.ap-mobile .ap-scope-card > .ap-button { min-height:33px; padding:7px 9px; font-size:11px; }
.ap-mobile .ap-scenes { gap:6px; margin-bottom:19px; }
.ap-mobile .ap-scenes button { min-height:72px; padding:10px 6px; border-radius:9px; text-align:center; font-size:11px; }
.ap-mobile .ap-scenes button > span { display:none; }
.ap-mobile .ap-scenes small { margin-top:6px; font-size:9px; line-height:1.5; }
.ap-mobile .ap-template-heading h3 { font-size:12px; }
.ap-mobile .ap-templates { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.ap-mobile .ap-template { padding:13px 11px 7px; }
.ap-mobile .ap-template h4 { font-size:13px; }
.ap-mobile .ap-template-total { font-size:17px; }
.ap-mobile .ap-template-breakdown { font-size:10px; }
.ap-mobile .ap-config-summary { gap:5px 10px; margin-top:14px; padding-top:12px; }
.ap-mobile .ap-config-summary > span { font-size:10px; }
.ap-mobile .ap-distribution { gap:10px; font-size:11px; }
.ap-mobile .ap-distribution > span { width:100%; }
.ap-mobile .ap-subtle { font-size:10px; }
.ap-mobile .ap-preview-empty { min-height:260px; }
.ap-mobile .ap-preview-empty h3 { font-size:13px; }
.ap-mobile .ap-preview-empty p { font-size:11px; }
.ap-mobile .ap-action-bar { position:fixed; left:0; right:0; bottom:0; z-index:45; padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px)); border-radius:0; border-width:1px 0 0; background:#fffffff7; }
.ap-mobile .ap-action-bar .ap-button { min-width:126px; height:44px; padding:10px 13px; font-size:13px; }
.ap-mobile .ap-action-bar p { font-size:10px; }
.ap-mobile #ap-action-hint { display:none; }
.ap-mobile .ap-range-panel { position:fixed; inset:auto 0 0; width:100%; max-width:100%; max-height:88vh; max-height:88dvh; margin:0; padding:22px 18px calc(18px + env(safe-area-inset-bottom,0px)); border:0; border-radius:22px 22px 0 0; }
.ap-mobile .ap-range-panel:not([open]) { display:none; }
.ap-mobile .ap-range-panel .ap-tree { max-height:38vh; max-height:38dvh; }
.ap-mobile .ap-book-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ap-mobile .ap-book-fields select { font-size:12px; }
.ap-mobile .ap-tree-search input { font-size:16px; }
.ap-mobile .ap-tree-row { min-height:43px; padding-top:10px; padding-bottom:10px; }
.ap-mobile .ap-tree-row label { font-size:13px; }
.ap-mobile .ap-tree-row input { width:16px; height:16px; flex-basis:16px; margin-top:3px; }
.ap-mobile .ap-range-mobile-done { display:block; margin-top:14px; }
.ap-mobile .ap-range-mobile-done button { width:100%; height:43px; }
.ap-mobile .ap-dialog { width:calc(100% - 20px); max-height:92vh; max-height:92dvh; border-radius:18px; }
.ap-mobile .ap-dialog > form { max-height:92vh; max-height:92dvh; }
.ap-mobile .ap-dialog-heading { padding:19px 16px 16px; }
.ap-mobile .ap-dialog-heading h2 { font-size:18px; }
.ap-mobile .ap-dialog-body { padding:18px 16px; }
.ap-mobile .ap-dialog > form > .ap-error { margin-right:16px; margin-left:16px; }
.ap-mobile .ap-template-name { grid-template-columns:auto minmax(0,1fr); gap:9px; }
.ap-mobile .ap-template-name .ap-once { grid-column:2; font-size:11px; }
.ap-mobile #ap-template-name { height:42px; font-size:16px; }
.ap-mobile .ap-filter-field { margin-top:22px; }
.ap-mobile .ap-filter-chip span,.ap-mobile .ap-filter-all { padding:8px 10px; font-size:11px; }
.ap-mobile .ap-template-counts { grid-template-columns:minmax(0,1fr); }
.ap-mobile .ap-count-row { min-height:55px; font-size:13px; }
.ap-mobile .ap-stepper { height:38px; flex-basis:124px; }
.ap-mobile .ap-stepper button { flex-basis:34px; }
.ap-mobile .ap-stepper input { width:54px; font-size:16px; }
.ap-mobile .ap-dialog-actions { padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px)); }
.ap-mobile .ap-dialog-actions .ap-button { flex:1; min-width:0; }
.ap-mobile .ap-dialog-actions .ap-button--primary { flex:1.3; }
.ap-mobile .ap-result-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.ap-mobile .ap-result-actions .ap-button { padding:10px 8px; font-size:12px; }
.ap-mobile #ap-go-cart { grid-column:1/-1; }
.ap-mobile #ap-paper-title { font-size:16px; }
.ap-mobile .ap-question { padding:14px 0; }
.ap-mobile .ap-rich { font-size:13px; }
@media (min-width:768px) and (max-width:1100px) { .ap-desktop .ap-workspace { grid-template-columns:250px minmax(0,1fr); }.ap-desktop .ap-templates { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) { .ap-desktop .ap-workspace { grid-template-columns:1fr; }.ap-desktop .ap-range-panel { position:relative; max-height:none; }.ap-desktop .ap-templates { grid-template-columns:repeat(2,minmax(0,1fr)); }.ap-desktop .ap-scenes small { font-size:9px; } }
@media (prefers-reduced-motion:reduce) { .ap-app * { scroll-behavior:auto !important; } }
