:root{color-scheme:light;--page-bg:#fafbf8;--surface:#ffffff;--surface-soft:#f0f3ec;--input-bg:#f6f7f3;--decor:#8b978e;--tile-bg:#e2eddf;--tile-inset:#f6faf3;--note-bg:#f2e8c9;--note-text:#5b512d;--text:#192c24;--text-muted:#5a6c60;--text-subtle:#5f7064;--border:#dfe5de;--accent:#146c43;--accent-solid:#146c43;--accent-soft:#e5f2e9;--on-accent:#ffffff;--danger:#a81d29;--cds-button-tertiary:#146c43;--cds-button-tertiary-hover:#0f5132;--cds-button-tertiary-active:#0b3d26;--cds-button-danger-secondary:#a81d29;--shadow:0 14px 40px #1c4c2620;--cds-font-family-sans:"IBM Plex Sans Variable","IBM Plex Sans",Arial,Helvetica,sans-serif}:root[data-theme=dark]{color-scheme:dark;--page-bg:#0d1511;--surface:#141f19;--surface-soft:#1a2a21;--input-bg:#1b2a22;--decor:#5a7060;--tile-bg:#1b3325;--tile-inset:#22382a;--note-bg:#3a3320;--note-text:#f0dfa8;--text:#e7efe9;--text-muted:#b8c8bc;--text-subtle:#9fb2a5;--border:#2a3d31;--accent:#7bd6a2;--accent-solid:#237a50;--accent-soft:#1d3a2a;--on-accent:#ffffff;--danger:#ff9aa2;--shadow:0 14px 40px #00000066;--cds-background:#0d1511;--cds-layer:#141f19;--cds-layer-01:#141f19;--cds-layer-02:#1a2a21;--cds-layer-03:#1f3227;--cds-field:#1b2a22;--cds-field-01:#1b2a22;--cds-field-02:#22382a;--cds-text-primary:#e7efe9;--cds-text-secondary:#b8c8bc;--cds-text-placeholder:#8fa396;--cds-text-error:#ff9aa2;--cds-border-subtle:#2a3d31;--cds-border-strong:#607568;--cds-interactive:#7bd6a2;--cds-link-primary:#7bd6a2;--cds-link-primary-hover:#a0e6bd;--cds-button-primary:#237a50;--cds-button-primary-hover:#2a7f54;--cds-button-primary-active:#1f6b47;--cds-button-tertiary:#7bd6a2;--cds-button-tertiary-hover:#237a50;--cds-button-tertiary-active:#1f6b47;--cds-button-danger-secondary:#ff9aa2;--cds-focus:#7bd6a2;--cds-focus-inset:#7bd6a2;--cds-support-error:#ff9aa2}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}html body{margin:0;color:var(--text);background:var(--page-bg);font-family:var(--cds-font-family-sans);font-size:16px;line-height:1.6;-webkit-user-select:text;user-select:text}body a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.container{width:min(1184px,100% - 64px);margin-inline:auto}.site-header{border-bottom:1px solid var(--border);background:var(--page-bg)}.header-inner{width:min(1344px,100% - 64px);min-height:96px;margin:auto;display:flex;align-items:center;gap:56px}.brand{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--text);font-size:38px;font-weight:700;letter-spacing:-2px}.brand-mark{background:var(--accent-solid);color:var(--on-accent);border-radius:12px 12px 12px 3px;width:36px;height:36px;text-align:center;font-size:29px;letter-spacing:-1px;margin-right:10px}.brand-dot{color:var(--accent)}.header-inner nav{display:flex;gap:32px}.header-inner nav a{display:inline-flex;transition:color 70ms cubic-bezier(.2,0,.38,.9);align-items:center;min-height:44px;text-decoration:none;font-size:16px;color:var(--text-muted)}.header-inner nav a:hover{text-decoration:underline}.theme-toggle{margin-left:auto;transition:border-color 70ms cubic-bezier(.2,0,.38,.9),color 70ms cubic-bezier(.2,0,.38,.9),background-color 70ms cubic-bezier(.2,0,.38,.9);display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);cursor:pointer}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-icon-dark{display:none}:root[data-theme=dark] .theme-icon-dark{display:block}:root[data-theme=dark] .theme-icon-light{display:none}.skip-link{position:absolute;left:16px;top:-100px;z-index:10;background:var(--surface);color:var(--text);padding:16px}.skip-link:focus{top:8px}.hero{padding-block:80px 56px}.eyebrow{color:var(--accent);letter-spacing:1.6px;font-size:14px;font-weight:700;margin-bottom:24px}body h1{font-size:clamp(36px,5vw,64px);font-weight:500;line-height:1.08;letter-spacing:-2.5px;margin:0 0 24px}.hero-description{color:var(--text-muted);font-size:18px;line-height:1.6;max-width:480px}.site-footer{border-top:1px solid var(--border);margin-top:80px;background:var(--surface)}.footer-inner{width:min(1184px,100% - 64px);margin:auto;padding-block:40px 24px;display:flex;flex-direction:column;gap:24px;font-size:14px;color:var(--text-subtle)}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:32px}.footer-brand-block p{margin:8px 0 0;color:var(--text-muted)}.footer-brand{display:inline-flex;align-items:center;min-height:44px;font-size:26px;font-weight:700;text-decoration:none;letter-spacing:-1px;color:var(--text)}.footer-links{display:flex;gap:24px}.footer-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--text-muted);text-decoration:none}.footer-links a:hover{color:var(--accent);text-decoration:underline}.footer-bottom{width:100%;border-top:1px solid var(--border);padding-top:20px;display:flex;justify-content:space-between;gap:16px;font-size:14px}.empty-state{padding-block:80px}.empty-state p{margin-block:24px}@media(max-width:640px){.container,.footer-inner,.header-inner{width:calc(100% - 40px)}.header-inner{min-height:0;padding-block:16px 12px;flex-wrap:wrap;gap:12px 16px;justify-content:space-between}.brand{font-size:30px}.brand-mark{width:30px;height:30px;font-size:24px}.header-inner nav{order:3;width:100%;gap:28px;padding-top:4px}.header-inner nav a{font-size:16px;padding-block:6px}.hero{padding-block:56px 40px}.footer-inner{padding-block:32px 24px}.footer-bottom,.footer-top{flex-direction:column;gap:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.hero{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:48px}.hero h1 span{color:var(--accent)}.hero .eyebrow{display:flex;align-items:center;gap:8px;letter-spacing:1.6px}.status-dot{display:inline-block;width:7px;height:7px;background:var(--accent-solid);border-radius:50%}.hero-chips{display:flex;gap:20px;font-size:14px;color:var(--text-muted);margin-top:28px}.hero-chips span:before{content:"✓";color:var(--accent);margin-right:6px}.hero-art{position:relative;height:290px}.orbit{position:absolute;border:1px solid var(--border);border-radius:50%;width:260px;height:260px;left:70px;top:5px}.orbit-two{width:330px;height:330px;left:35px;top:-30px;border-style:dashed}.art-tile{position:absolute;border:1px solid var(--border);border-radius:24px;box-shadow:0 14px 40px var(--shadow)}.tile-math{width:148px;height:166px;background:var(--tile-bg);transform:rotate(-12deg);left:45px;top:35px;display:grid;grid-template-columns:1fr 1fr;padding:18px;gap:10px}.tile-math span{background:var(--tile-inset);border-radius:10px;text-align:center;display:grid;place-items:center;font-size:28px;color:var(--accent)}.tile-math span:last-child{background:var(--accent-solid);color:var(--on-accent)}.tile-chat{width:130px;height:124px;background:var(--note-bg);right:40px;top:90px;transform:rotate(12deg);color:var(--note-text);font-size:36px;font-weight:700;padding:20px;border-radius:24px 24px 24px 2px}.tile-chat span{display:block;font-size:12px;letter-spacing:7px;padding-top:8px}.art-note{position:absolute;bottom:8px;left:65px;color:var(--text-muted);font-size:14px;transform:rotate(-6deg)}.art-spark{position:absolute;right:35px;top:15px;font-size:50px;color:var(--accent)}.catalog-section{padding-top:32px;border-top:1px solid var(--border);scroll-margin-top:24px}.catalog-toolbar{display:flex;justify-content:space-between;gap:32px;align-items:end}.catalog-toolbar .eyebrow{margin-bottom:12px}body h2{font-size:26px;font-weight:500;letter-spacing:-.7px;line-height:1.3}.search-field{width:300px;max-width:100%}.search-field .cds--text-input{background:var(--surface-soft)}.cds--form__helper-text,body .cds--label{font-size:14px}body .cds--select-input,body .cds--text-input{height:48px;font-size:16px}body .cds--text-area{min-height:96px;font-size:16px}.filter-row{margin-block:28px 24px;display:flex;justify-content:space-between;align-items:center;gap:24px}.filter-row p{font-size:14px;color:var(--text-subtle);white-space:nowrap}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-buttons button{min-height:44px;transition:background-color 70ms cubic-bezier(.2,0,.38,.9),border-color 70ms cubic-bezier(.2,0,.38,.9),color 70ms cubic-bezier(.2,0,.38,.9);border:1px solid var(--border);background:rgba(0,0,0,0);color:var(--text-muted);padding:8px 16px;border-radius:24px;cursor:pointer;font:inherit;font-size:14px}.filter-buttons button.active{color:var(--on-accent);background:var(--accent-solid);border-color:var(--accent-solid)}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;scroll-margin-top:24px}.tool-card{position:relative;display:flex;flex-direction:column;min-height:256px;padding:26px;border:1px solid var(--border);background:var(--surface);border-radius:8px;text-decoration:none;color:var(--text);transition:border-color 70ms cubic-bezier(.2,0,.38,.9),transform 70ms cubic-bezier(.2,0,.38,.9);overflow:hidden}.tool-card:hover{border-color:var(--accent);transform:translateY(-3px)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.tool-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--surface-soft);color:var(--text-muted)}.chat-icon{color:var(--accent);background:var(--accent-soft)}.card-category{color:var(--text-subtle);font-size:14px;padding:5px 8px;border:1px solid var(--border);border-radius:4px}.tool-card h3{font-size:18px;letter-spacing:-.4px;font-weight:600;line-height:1.3;margin-bottom:10px}.tool-card>p{color:var(--text-muted);font-size:14px;line-height:1.65;max-width:290px;margin-bottom:28px}.card-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;color:var(--accent);font-size:14px;font-weight:600}.card-number{position:absolute;bottom:12px;right:48px;font-size:48px;color:var(--decor);pointer-events:none}.clear-filters{min-height:44px;margin-top:20px;border:0;background:none;color:var(--accent);text-decoration:underline;cursor:pointer}.no-results{padding:48px;text-align:center}.no-results p{margin-top:12px}.purpose-strip{margin-top:48px;border-radius:8px;background:var(--surface-soft);display:flex;gap:28px;align-items:center;padding:32px}.purpose-strip>span:first-child{font-size:48px;color:var(--text-muted)}.purpose-strip h2{font-size:23px;margin-bottom:12px}.purpose-strip p{line-height:1.7}.purpose-label,.purpose-strip p{font-size:14px;color:var(--text-subtle)}.purpose-label{margin-left:auto;letter-spacing:1.5px}.tool-page{padding-top:32px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:14px;margin-bottom:48px;line-height:1.6}.breadcrumbs a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.breadcrumbs span{color:var(--text-subtle)}.tool-heading{max-width:740px;margin-bottom:36px}.tool-heading .eyebrow{margin-bottom:16px}.tool-heading h1{font-size:clamp(32px,4vw,48px);letter-spacing:-1.7px}.tool-heading>p:last-child{color:var(--text-subtle);font-size:17px;line-height:1.7}.tool-workspace{padding:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.explanation{max-width:800px;margin-top:48px}.explanation p{color:var(--text-muted);font-size:14px;line-height:1.8;margin-top:16px}.formula{padding:20px;border-left:3px solid var(--accent);background:var(--surface-soft);overflow-wrap:anywhere}.explanation p.privacy-note{font-size:14px}.legal-page{max-width:780px;padding-block:64px 24px}.legal-page h1{font-size:clamp(36px,5vw,52px);margin-bottom:12px}.legal-updated{color:var(--text-subtle);font-size:14px;margin-bottom:40px}.legal-page h2{font-size:24px;margin-top:40px;margin-bottom:12px}.legal-page li,.legal-page p{color:var(--text-muted);font-size:16px;line-height:1.8;margin-bottom:16px}.legal-page>.eyebrow{color:var(--accent);font-size:14px;font-weight:700;letter-spacing:1.6px}.legal-page code{padding:2px 6px;border-radius:4px;background:var(--surface-soft);color:var(--text);font-size:14px}.legal-back{margin-top:40px}.legal-back a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent)}@media(max-width:640px){.legal-page{padding-block:40px 16px}}.related{margin-top:48px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.related-grid a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px;border:1px solid var(--border);border-radius:8px;text-decoration:none;font-size:14px}@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-art{display:none}.tool-grid{grid-template-columns:repeat(2,1fr)}.purpose-label{display:none}}@media(max-width:640px){.catalog-toolbar{display:block}.search-field{width:100%;margin-top:24px}.filter-row{display:block}.filter-row>p{margin-top:16px}.related-grid,.tool-grid{grid-template-columns:1fr}.tool-card{min-height:235px}.hero-chips{gap:10px;font-size:14px}.purpose-strip{padding:24px;gap:16px}.purpose-strip>span:first-child{display:none}.tool-workspace{padding:24px}}@media(prefers-reduced-motion:reduce){.page-enter,.shopping-skeleton-section,.shopping-skeleton-summary{animation:none}.filter-buttons button,.header-inner nav a,.shopping-check-box,.shopping-item-edit,.shopping-mode-item,.shopping-section-actions button,.theme-toggle,.tool-card{transition:none}.tool-card:hover{transform:none}}.tool-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.tool-form{display:flex;flex-direction:column;gap:24px}.tool-form h2{font-size:22px}.form-intro{color:var(--text-subtle);font-size:14px;margin-top:-12px}.tool-form .cds--select-input,.tool-form .cds--text-area,.tool-form .cds--text-input{background:var(--input-bg)}.form-footnote{color:var(--text-subtle);font-size:14px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.form-error{color:var(--danger);font-size:14px;line-height:1.6}.result-panel{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;padding:32px;min-height:400px;overflow:hidden}.result-panel h2{font-size:24px;margin-bottom:20px}.result-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;text-align:center;gap:20px}.result-placeholder svg{color:var(--text-muted)}.result-placeholder h2{margin:0;font-size:22px}.result-intro,.result-placeholder p{font-size:14px;color:var(--text-muted);line-height:1.7}.result-intro{margin-bottom:24px}.result-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}.text-action{display:inline-flex;align-items:center;min-height:44px;gap:8px;font-size:14px}.action-status{font-size:14px;color:var(--text-muted);line-height:1.7;margin-top:16px}.qr-result{display:flex;align-items:center;flex-direction:column;gap:16px;margin-top:24px}.qr-result img{max-width:100%;height:auto}.qr-result a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}@media(max-width:760px){.tool-layout{grid-template-columns:1fr}.result-panel{padding:24px;min-height:280px}.result-placeholder{min-height:200px}}.result-metrics{margin-block:24px 32px}.result-metrics>div{border-bottom:1px solid var(--border);padding-block:20px}.result-metrics>div:first-child{padding-top:0}.result-metrics dt{color:var(--text-muted);font-size:14px;margin-bottom:10px}.result-metrics dd{color:var(--text);font-size:25px;letter-spacing:-.5px;line-height:1.3;overflow-wrap:anywhere}.result-metrics>div:first-child dd{font-size:clamp(30px,4vw,42px);color:var(--accent)}.schedule{margin-top:40px}.table-scroll{overflow-x:auto;margin-top:24px;max-height:480px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.table-scroll:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.table-scroll table{width:100%;font-size:14px;white-space:nowrap;text-align:left;border-collapse:collapse}.table-scroll caption{padding:16px;text-align:left;color:var(--text-subtle)}.table-scroll td,.table-scroll th{padding:16px;border-bottom:1px solid var(--border)}.table-scroll th{font-weight:600}.table-scroll thead{background:var(--surface-soft)}.ad-slot{margin-block:40px}.ad-slot-label{display:block;font-size:14px;letter-spacing:1px;margin-bottom:10px}.ad-slot-label,.ad-slot-placeholder{text-align:center;color:var(--text-subtle)}.ad-slot-placeholder{display:flex;align-items:center;justify-content:center;height:90px;width:100%;max-width:970px;margin-inline:auto;padding:16px;border:1px dashed var(--border);border-radius:6px;background:var(--surface-soft);font-size:13px}@media(max-width:640px){.ad-slot{margin-block:32px}.ad-slot-placeholder{height:100px}}.page-enter{animation:ajuri-page-enter .15s cubic-bezier(.2,0,.38,.9) both}@keyframes ajuri-page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.shopping-page{max-width:760px;margin-inline:auto;padding-bottom:128px}.shopping-page .cds--btn,.shopping-sheet .cds--btn{min-height:44px}.shopping-skeleton{display:grid;gap:16px;padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.shopping-loading-label{color:var(--text-muted);font-size:16px}.shopping-skeleton-section,.shopping-skeleton-summary{display:grid;gap:12px;padding:16px;border:1px solid var(--border);border-radius:8px}.shopping-skeleton-block{height:96px;width:100%}.shopping-summary{display:grid;gap:20px;padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.shopping-summary h2{font-size:clamp(24px,4vw,32px)}.shopping-summary-caption{margin-top:8px;color:var(--text-muted);font-size:14px;line-height:1.6}.shopping-summary-numbers{display:flex;flex-wrap:wrap;gap:12px 28px}.shopping-summary-numbers>div{display:grid;gap:2px}.shopping-summary-numbers span{color:var(--text-subtle);font-size:14px}.shopping-summary-numbers strong{font-size:20px}.shopping-summary-numbers .is-over strong{color:var(--danger)}.shopping-summary-actions{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.shopping-month-select{display:grid;gap:4px;font-size:14px;color:var(--text-muted)}.shopping-month-select select{min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--text);font:inherit}.shopping-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-block:20px 16px}.shopping-sections{display:grid;gap:16px}.shopping-section{overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.shopping-section-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.shopping-section-header h3{font-size:18px;line-height:1.3}.shopping-section-header p{margin-top:2px;color:var(--text-subtle);font-size:14px}.shopping-section-actions{display:flex;gap:2px}.shopping-history li>button:last-child,.shopping-item-edit,.shopping-section-actions button,.shopping-sheet-header button{display:grid;transition:background-color 70ms cubic-bezier(.2,0,.38,.9),color 70ms cubic-bezier(.2,0,.38,.9);place-items:center;min-width:44px;min-height:44px;border:0;border-radius:8px;background:rgba(0,0,0,0);color:var(--text-muted);cursor:pointer}.shopping-item-edit:hover,.shopping-section-actions button:hover,.shopping-sheet-header button:hover{background:var(--surface-soft);color:var(--accent)}.shopping-section-actions button:disabled{opacity:.35;cursor:default}.shopping-items{margin:0;padding:0;list-style:none}.shopping-items li{display:flex;align-items:center;min-height:56px;border-bottom:1px solid var(--border)}.shopping-items li:last-child{border-bottom:0}.shopping-check{display:flex;flex:1 1;align-items:center;gap:12px;min-height:56px;padding:10px 4px 10px 16px;cursor:pointer}.shopping-check input,.shopping-mode-item input{position:absolute;width:1px;height:1px;opacity:0}.shopping-check-box{display:grid;transition:background-color 70ms cubic-bezier(.2,0,.38,.9),border-color 70ms cubic-bezier(.2,0,.38,.9);flex:0 0 auto;place-items:center;width:24px;height:24px;border:2px solid var(--cds-border-strong,var(--border));border-radius:6px;background:var(--surface);color:var(--on-accent)}.shopping-check input:focus-visible+.shopping-check-box,.shopping-mode-item input:focus-visible+.shopping-check-box{outline:3px solid var(--accent);outline-offset:3px}.shopping-items li.is-checked .shopping-check-box{border-color:var(--accent-solid);background:var(--accent-solid)}.shopping-item-copy{display:grid;gap:2px;min-width:0}.shopping-item-copy strong{overflow-wrap:anywhere;font-size:16px}.shopping-item-copy span{color:var(--text-muted);font-size:14px}.shopping-items li.is-checked .shopping-item-copy strong{color:var(--text-muted);text-decoration:line-through}.shopping-section-empty{padding:16px;color:var(--text-subtle);font-size:14px}.shopping-bottom-bar{position:fixed;right:0;bottom:0;left:0;z-index:20;display:flex;justify-content:center;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface)}.shopping-bottom-bar .cds--btn{width:min(100%,400px);max-width:none}.shopping-status{min-height:24px;margin-top:16px;color:var(--text-muted);font-size:14px}.shopping-error{margin-block:16px;padding:12px 16px;border-left:3px solid var(--danger);background:var(--surface-soft);color:var(--danger);font-size:14px;line-height:1.6}.shopping-empty,.shopping-loading{padding:48px 24px;border:1px dashed var(--border);border-radius:12px;text-align:center}.shopping-empty svg{color:var(--accent)}.shopping-empty h3{margin-top:16px;font-size:20px}.shopping-empty p{margin-top:8px;color:var(--text-muted);font-size:15px}.shopping-empty-actions,.shopping-inline-actions{display:flex;flex-wrap:wrap;gap:8px}.shopping-empty-actions{justify-content:center;margin-top:20px}.shopping-sheet{width:min(560px,100% - 16px);max-height:92dvh;margin:auto auto 0;padding:0;border:0;border-radius:16px 16px 0 0;background:var(--surface);color:var(--text)}.shopping-sheet::backdrop{background:rgba(0,0,0,.4)}.shopping-sheet-form{display:flex;flex-direction:column;gap:16px;max-height:92dvh;padding:20px;overflow-y:auto}.shopping-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.shopping-sheet-header h2{font-size:22px}.shopping-suggestions{display:flex;flex-wrap:wrap;gap:8px}.shopping-suggestions button{min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);color:var(--text);font:inherit;font-size:14px;cursor:pointer}.shopping-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.shopping-price-history{color:var(--text-muted);font-size:14px}.shopping-sheet-actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px}.shopping-settings-block{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--border)}.shopping-settings-block h3{display:flex;align-items:center;gap:8px;font-size:18px}.shopping-settings-block p,.shopping-settings-help{color:var(--text-muted);font-size:14px;line-height:1.6}.shopping-file-button{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:14px;cursor:pointer}.shopping-file-button input{position:absolute;width:1px;height:1px;opacity:0}.shopping-history{display:grid;gap:4px;margin:0;padding:0;list-style:none}.shopping-history li{display:flex;align-items:center;border-bottom:1px solid var(--border)}.shopping-history-open{display:flex;flex:1 1;align-items:center;justify-content:space-between;gap:12px;min-height:44px;border:0;background:rgba(0,0,0,0);color:var(--text);font:inherit;font-size:14px;text-align:left;cursor:pointer}.shopping-history-open span{color:var(--text-subtle);font-size:13px}.shopping-mode{position:fixed;inset:0;z-index:50;padding:20px 20px calc(24px + env(safe-area-inset-bottom));overflow-y:auto;background:var(--page-bg);color:var(--text)}.shopping-mode-header{position:sticky;top:-20px;z-index:1;display:flex;align-items:start;justify-content:space-between;gap:16px;max-width:760px;margin:0 auto 20px;padding-block:8px 16px;border-bottom:1px solid var(--border);background:var(--page-bg)}.shopping-mode-header p:last-child{margin-top:4px;color:var(--text-muted);font-size:14px}.shopping-mode-list{display:grid;gap:20px;max-width:760px;margin-inline:auto}.shopping-mode-section h3{margin-bottom:8px;color:var(--text-muted);font-size:16px}.shopping-mode-item{display:flex;transition:border-color 70ms cubic-bezier(.2,0,.38,.9),background-color 70ms cubic-bezier(.2,0,.38,.9);align-items:center;gap:12px;min-height:64px;margin-bottom:8px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer}.shopping-mode-item .shopping-check-box{width:32px;height:32px}.shopping-mode-item>span:last-child{display:grid;gap:2px}.shopping-mode-item strong{font-size:17px}.shopping-mode-item small{color:var(--text-muted);font-size:14px}.shopping-mode-empty{display:grid;justify-items:center;gap:12px;padding:48px 20px;text-align:center}.shopping-mode-empty svg{color:var(--accent)}.shopping-mode-empty h3{font-size:22px}.shopping-mode-empty p{color:var(--text-muted);font-size:15px}@media(min-width:640px){.shopping-summary{grid-template-columns:1fr auto;align-items:start}.shopping-summary-actions{grid-column:1/-1}.shopping-sheet{margin:auto;border-radius:16px}}@media(max-width:420px){.shopping-field-row{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.shopping-section-header{position:static}}.school-empty,.school-loading{display:flex;flex-direction:column;gap:20px}.school-toolbar{margin-bottom:24px}.school-toolbar-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px}.school-toolbar-row>.cds--form-item{flex:1 1 280px}.school-new-list{flex:1 1 320px}.school-new-list summary{min-height:44px;display:inline-flex;align-items:center;cursor:pointer;color:var(--accent);font-weight:600}.school-create{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:16px;align-items:end;margin-top:16px}.school-create .cds--btn{min-height:48px}.school-item-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:28px}.school-item-form .cds--form-item:nth-last-of-type(2),.school-item-form .school-form-actions,.school-item-form h3{grid-column:1/-1}.school-form-actions{display:flex;flex-wrap:wrap;gap:12px}.school-groups{display:flex;flex-direction:column;gap:28px}.school-group h3{display:flex;justify-content:space-between;gap:16px;font-size:18px;margin-bottom:8px}.school-group-total{color:var(--text-muted);font-size:14px;font-weight:600}.school-item-list{list-style:none;margin:0;padding:0}.school-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:start;padding-block:14px;border-bottom:1px solid var(--border)}.school-check{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer}.school-check input{width:24px;height:24px;accent-color:var(--accent-solid)}.school-item-body{display:flex;flex-direction:column;gap:4px;min-width:0}.school-item-name{font-weight:600;overflow-wrap:anywhere}.school-item-meta,.school-item-notes{color:var(--text-subtle);font-size:14px;line-height:1.5;overflow-wrap:anywhere}.school-item-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.school-item-actions .cds--btn{min-height:44px}.school-summary{display:flex;flex-direction:column;gap:16px}.school-summary h2{margin-bottom:0}.school-progress{display:flex;flex-direction:column;gap:8px}.school-progress progress{width:100%;height:12px;accent-color:var(--accent-solid)}.school-progress p{color:var(--text-muted);font-size:14px}.school-summary .result-metrics{margin-block:8px}.school-over{color:var(--danger)!important}.school-budget{gap:12px;padding-top:16px;border-top:1px solid var(--border)}.school-actions,.school-budget{display:flex;flex-direction:column}.school-actions{gap:10px}.school-actions .cds--btn,.school-file-label{min-height:44px}.school-file-label{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);cursor:pointer;font-size:16px}.school-file-label input{position:absolute;width:1px;height:1px;opacity:0}.school-status{margin-top:24px;color:var(--text-muted);font-size:14px}.school-error{margin-top:16px}@media(max-width:760px){.school-create,.school-item-form{grid-template-columns:1fr}.school-create .cds--btn,.school-item-form .school-form-actions{grid-column:1}.school-item{grid-template-columns:auto minmax(0,1fr)}.school-item-actions{grid-column:1/-1;justify-content:flex-start}}