:root { color-scheme: light; --cream:#F8F1E4; --paper:#FFFDFC; --ink:#2F2923; --muted:#776D63; --accent:#B55D3C; --soft:#F4DED4; }
* { box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html,body,#root { height:100%; min-height:100%; margin:0; background:var(--cream); }
body { overscroll-behavior-y:none; }
#root { height:100dvh; }
a,button,input,textarea { touch-action:manipulation; }
button,input,textarea { font:inherit; }
input,textarea { font-size:16px!important; }
button,a,[role=button],[role=tab] { -webkit-touch-callout:none; }
:focus-visible { outline:3px solid #B55D3C!important; outline-offset:3px; }
button { border:0; border-radius:14px; padding:13px 18px; background:var(--accent); color:white; font-weight:700; cursor:pointer; min-height:44px; }
button.secondary { color:#8F432B; background:var(--soft); }
button.danger { background:#A83F3F; }
.web-brandbar { flex-shrink:0; min-height:72px; padding:12px max(24px,calc((100vw - 968px)/2)); display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #E6D8C5; background:var(--paper); font-family:system-ui,sans-serif; }
.web-brandbar a { text-decoration:none; color:var(--ink); font-weight:750; display:flex; align-items:center; gap:10px; font-size:24px; }
.web-brandbar a:last-child { font-size:14px; color:#8F432B; }
.web-brandbar img { width:38px; height:38px; border-radius:12px; }
.web-brandbar span { font-size:13px; font-weight:400; color:var(--muted); margin-left:14px; }
[role=tablist] { box-shadow:none; }
[role=tablist] > * { max-width:160px; }
[role=tablist] { justify-content:center; }
.jedly-dialog { width:calc(100% - 32px); max-width:440px; max-height:80dvh; overflow:auto; border:1px solid #E6D8C5; border-radius:26px; padding:26px; color:var(--ink); background:var(--paper); box-shadow:0 24px 80px #2f29232b; font-family:system-ui,sans-serif; }
.jedly-dialog::backdrop { background:#2f29237a; backdrop-filter:blur(5px); }
.jedly-dialog h2 { margin:0 0 12px; font-size:23px; letter-spacing:-.5px; }
.jedly-dialog p { margin:0 0 22px; color:var(--muted); line-height:1.6; }
.jedly-dialog-actions { display:flex; flex-direction:column; gap:10px; }
.pwa-notice { position:fixed; left:16px; bottom:calc(86px + env(safe-area-inset-bottom)); max-width:calc(100vw - 32px); z-index:1001; display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:18px; border:1px solid #D9A28C; background:var(--paper); box-shadow:0 10px 35px #2f292326; color:var(--ink); font:600 13px/1.4 system-ui,sans-serif; }
.pwa-notice button { flex-shrink:0; padding:10px 12px; }
.web-offline { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:24px; font-family:system-ui,sans-serif; color:var(--ink); text-align:center; }
.web-offline h1 { font-size:32px; margin:0; }
.web-offline p { max-width:460px; color:var(--muted); line-height:1.7; }
.eyebrow { color:#8F432B; font-size:11px; font-weight:800; letter-spacing:2px; }
@media (max-width:650px) { .web-brandbar { display:none; } }
@media (min-width:900px) { [role=dialog] { max-width:100%; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }
