@font-face{font-family:'Lora';font-style:normal;font-weight:400 600;font-display:swap;src:url('./fonts/lora-latin.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('./fonts/dm-sans-latin.woff2') format('woff2')}
@font-face{font-family:'ModenZ Wordmark';font-style:normal;font-weight:400;font-display:swap;src:url('./cormorant-garamond-latin-400-normal.woff2') format('woff2')}

:root {
 color-scheme:light;
 --sage-mist:#ECEEE1;
 --natural-sage:#939D8A;
 --deep-sage:#293022;
 --bg:var(--sage-mist);
 --surface:color-mix(in srgb,var(--sage-mist) 89%,var(--natural-sage));
 --soft:color-mix(in srgb,var(--sage-mist) 74%,var(--natural-sage));
 --text:var(--deep-sage);
 --muted:color-mix(in srgb,var(--deep-sage) 76%,var(--natural-sage));
 --accent-ink:color-mix(in srgb,var(--deep-sage) 67%,var(--natural-sage));
 --primary:var(--natural-sage);
 --on-primary:var(--deep-sage);
 --border:color-mix(in srgb,var(--natural-sage) 43%,transparent);
 --control-border:color-mix(in srgb,var(--natural-sage) 80%,var(--deep-sage));
 --glass-bg:color-mix(in srgb,var(--sage-mist) 76%,transparent);
 --glass-edge:color-mix(in srgb,white 76%,transparent);
 --glass-highlight:color-mix(in srgb,white 34%,transparent);
 --glass-shadow:0 16px 45px color-mix(in srgb,var(--deep-sage) 8%,transparent);
 --artwork-line:color-mix(in srgb,var(--natural-sage) 22%,transparent);
 --shadow:0 14px 40px color-mix(in srgb,var(--deep-sage) 6%,transparent);
 --error-ink:#8d293d;
 --error-bg:color-mix(in srgb,var(--bg) 94%,var(--error-ink));
 --body:'DM Sans',Arial,sans-serif;
 --serif:'Lora',Georgia,serif;
 --wordmark:'ModenZ Wordmark',Georgia,serif;
 --rose:var(--natural-sage);
 --velvet-base:var(--natural-sage);
 --velvet-ink:var(--deep-sage);
 --ion-background-color:var(--bg);
 --ion-text-color:var(--text);
 --ion-font-family:var(--body);
 --ion-color-primary:var(--primary);
 --ion-color-primary-rgb:147,157,138;
 --ion-color-primary-contrast:var(--on-primary);
 --ion-item-background:var(--surface);
 --ion-toolbar-background:var(--surface);
 --ion-toolbar-color:var(--text);
 --ion-card-background:var(--surface);
 --ion-tab-bar-background:var(--surface);
 --ion-tab-bar-color:var(--muted);
 --ion-tab-bar-color-selected:var(--text);
 --ion-border-color:var(--border);
 --ion-overlay-background-color:var(--surface);
 --ion-backdrop-color:var(--deep-sage);
 --ion-color-step-50:var(--surface);
 --ion-color-step-150:var(--soft);
 --ion-color-step-600:var(--muted);
}
:root[data-theme=dark] {
 color-scheme:dark;
 --bg:var(--deep-sage);
 --surface:color-mix(in srgb,var(--deep-sage) 91%,var(--natural-sage));
 --soft:color-mix(in srgb,var(--deep-sage) 80%,var(--natural-sage));
 --text:var(--sage-mist);
 --muted:color-mix(in srgb,var(--sage-mist) 72%,var(--natural-sage));
 --accent-ink:color-mix(in srgb,var(--sage-mist) 82%,var(--natural-sage));
 --border:color-mix(in srgb,var(--natural-sage) 36%,transparent);
 --control-border:var(--natural-sage);
 --glass-bg:color-mix(in srgb,var(--deep-sage) 82%,transparent);
 --glass-edge:color-mix(in srgb,var(--sage-mist) 26%,transparent);
 --glass-highlight:color-mix(in srgb,var(--sage-mist) 9%,transparent);
 --glass-shadow:0 18px 50px color-mix(in srgb,black 18%,transparent);
 --artwork-line:color-mix(in srgb,var(--natural-sage) 18%,transparent);
 --error-ink:#efb8b2;
 --shadow:0 16px 48px color-mix(in srgb,black 16%,transparent);
}
:root[dir=rtl] {
 --body:Tahoma,'Geeza Pro',Arial,sans-serif;
 --serif:Tahoma,'Geeza Pro',serif;
}
*{box-sizing:border-box}
html,body{background:var(--bg);color:var(--text)}
body{margin:0;font:400 15px/1.7 var(--body)}
h1,h2,h3,p{margin-block-start:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2;letter-spacing:-.035em}
h1{font-size:clamp(2.5rem,5vw,4rem)}
h2{font-size:2rem}h3{font-size:1.35rem}
a{color:inherit}button,input,select,textarea{font:inherit}
button,a,input,select,textarea{touch-action:manipulation}
button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--text);outline-offset:4px}
button,.button{min-height:46px;border-radius:28px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:11px 20px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:13px;transition:background-color .2s,border-color .2s,translate .2s}
button:hover:not(:disabled),.button:hover{border-color:var(--control-border);background:var(--soft)}
.primary,.velvet{background:var(--primary);color:var(--on-primary);border-color:var(--primary);font-weight:500}
.primary:hover:not(:disabled),.button.primary:hover{background:color-mix(in srgb,var(--natural-sage) 82%,var(--sage-mist));border-color:var(--natural-sage)}
.quiet-button{background:transparent}
.glass{background:var(--glass-bg);border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--glass-shadow);-webkit-backdrop-filter:blur(24px) saturate(125%);backdrop-filter:blur(24px) saturate(125%)}
.muted{color:var(--muted)}
.eyebrow{font:500 10px/1.65 var(--body);text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.brand{display:inline-flex;align-items:center;text-decoration:none;flex:none;line-height:1}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:25px;box-shadow:var(--shadow)}
.panel.glass{background:var(--glass-bg);border-color:var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--glass-shadow)}
label{display:grid;gap:8px;font-size:12px;line-height:1.6}
input,select,textarea{width:100%;min-height:48px;border:1px solid var(--border);border-radius:13px;padding:11px 13px;background:color-mix(in srgb,var(--bg) 80%,transparent);color:var(--text)}
input:focus,select:focus,textarea:focus{border-color:var(--control-border)}
input[type=checkbox],input[type=radio]{width:19px;min-height:19px;accent-color:var(--accent-ink);margin:3px 0 0;flex:none}
textarea{min-height:105px;resize:vertical}
.field{margin-block-end:18px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.stack{display:grid;gap:15px}
.error{color:var(--error-ink);background:var(--error-bg);border:1px solid color-mix(in srgb,var(--error-ink) 35%,transparent);border-radius:13px;padding:14px;font-size:13px;overflow-wrap:anywhere}
.pill{display:inline-block;font-size:10px;border:1px solid var(--border);border-radius:25px;padding:5px 11px;color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.arrow{display:inline-block;font-size:21px;line-height:1}:root[dir=rtl] .arrow{transform:scaleX(-1)}
.text-button{border:0;background:none;box-shadow:none;padding-inline:0;text-decoration:underline;text-underline-offset:5px;font-size:12px}
.danger{color:var(--error-ink);border-color:color-mix(in srgb,var(--error-ink) 40%,transparent)}
.empty{padding:46px 24px;text-align:center}.empty-symbol{width:70px;height:70px;margin:0 auto 22px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;font:34px var(--serif);color:var(--accent-ink)}
ion-alert{--background:var(--surface);--backdrop-opacity:.45}ion-alert .alert-wrapper{background:var(--surface);color:var(--text)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass,.panel.glass{background:var(--surface)}}
@media(prefers-reduced-transparency:reduce){.glass,.panel.glass{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
