:root{--bg:#12171c;--surface:#1d252c;--raised:#2b353e;--ink:#f2f5f5;--secondary:#a8b4bc;--muted:#74828d;--accent:#e5a64d;--accent-ink:#2c1c0a;--ease:cubic-bezier(.16,1,.3,1);color-scheme:dark;font:100%/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{background:var(--bg);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;user-select:none;-webkit-user-select:none}button,a{touch-action:manipulation}button:disabled{cursor:default}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{color:var(--bg);background:var(--accent)}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance} .single-sheet{width:min(100%,430px);min-height:100svh;margin:auto;padding:calc(8px + env(safe-area-inset-top,0px)) 18px calc(12px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:12px;background:var(--bg)}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:36px}.wordmark{font-size:18px;font-weight:750;letter-spacing:-.035em}.wordmark span{font-weight:450;color:var(--secondary)}.variant-link{display:flex;align-items:center;gap:3px;min-height:44px;font-size:11px;color:var(--secondary)}.variant-link svg{width:14px;height:14px}.identity{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}.headphones{display:block;width:240px;height:140px;object-fit:contain;object-position:center;margin:-8px auto 4px;mix-blend-mode:lighten}.identity h1{font-size:27px;font-weight:650;line-height:1.08;letter-spacing:-.035em;max-width:17ch}.identity p{font-size:13px;color:var(--secondary);margin-top:8px;line-height:1.4}.calendar-section{margin-top:4px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px;margin-bottom:10px}.section-heading h2{font-size:16px;font-weight:550;letter-spacing:-.02em}.section-heading>span{display:none}.calendar-card{background:var(--surface);border-radius:20px;padding:5px 8px 12px}.month-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:44px}.month-toolbar h3{text-transform:capitalize;font-size:18px;letter-spacing:-.02em;font-weight:650;font-variant-numeric:tabular-nums}.icon-button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;transition:transform 120ms var(--ease),background 120ms}.icon-button:active{background:var(--raised);transform:scale(.9)}.icon-button:disabled{opacity:.25}.weekdays,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.weekdays{font-size:11px;color:var(--secondary);padding:2px 0 5px}.days{gap:2px 0;align-content:start}.day{width:100%;min-height:44px;border:3px solid transparent;background-clip:padding-box;border-radius:12px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:16px;font-variant-numeric:tabular-nums;gap:2px;transition:transform 120ms var(--ease),background 120ms}.day:active:not(:disabled){transform:scale(.9)}.day:disabled{opacity:.25}.day .indicator{height:3px;width:3px;border-radius:50%;background:var(--secondary)}.day.busy{background-color:var(--accent);background-clip:padding-box;color:var(--accent-ink);font-weight:650}.day.busy .indicator{width:10px;height:2px;border-radius:1px;background:var(--accent-ink)}.day.selected:not(.busy){background:var(--raised);outline:1px solid var(--ink);outline-offset:-3px}.day.busy.selected{outline:2px solid var(--ink);outline-offset:-3px}.day.today:not(.selected):not(.busy){outline:1px solid var(--muted);outline-offset:-6px}.day.unknown{color:var(--secondary)}.legend{display:flex;justify-content:center;gap:22px;margin-top:9px;font-size:11px;color:var(--secondary)}.legend span{display:flex;align-items:center;gap:6px}.legend i{height:7px;width:7px;border-radius:3px}.free-dot{background:var(--secondary)}.busy-dot{background:var(--accent)}.date-result{padding:10px 4px 0;min-height:48px}.date-result strong{font-size:13px;font-weight:550;display:block}.date-result p{font-size:11px;color:var(--secondary);line-height:1.4;margin-top:3px}.sync-note{display:flex;align-items:flex-start;gap:6px;padding:5px 4px 0}.sync-note p{font-size:10px;color:var(--secondary)}.status-dot{width:4px;height:4px;background:var(--muted);border-radius:50%;margin-top:5px;flex-shrink:0}.status-dot.fresh{background:var(--accent)}.preview-tools{padding:4px;font-size:11px;color:var(--secondary)}.quiet-button{min-height:44px;background:transparent;border:0;color:var(--accent);font-size:13px;padding:10px 0;text-align:left}.contact-section{margin-top:12px;padding-top:0}.primary{width:100%;min-height:48px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--accent);color:var(--accent-ink);border:0;border-radius:14px;padding:12px 18px;font-weight:650;font-size:14px;transition:transform 120ms var(--ease)}.primary:active{transform:scale(.975)}.contact-dock{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:10px}.social{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:54px;min-width:44px;padding:4px 0;color:var(--secondary);font-size:11px}.social svg{padding:9px;box-sizing:content-box;width:19px;height:19px;color:var(--ink);background:var(--surface);border-radius:13px}.social:active{transform:scale(.92)}footer{font-size:10px;color:var(--muted);text-align:center;line-height:1.3;padding-top:0}dialog{position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,430px);max-height:90dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);color:var(--ink);border:0;border-radius:24px 24px 0 0;padding:10px 24px calc(24px + env(safe-area-inset-bottom,0px))}dialog[open]{animation:sheet-in 240ms var(--ease)}dialog::backdrop{background:#0009}body:has(dialog[open]){overflow:hidden}.sheet-handle{width:34px;height:4px;border-radius:4px;background:var(--muted);margin:0 auto 14px}.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-heading h2{font-size:24px;line-height:1.1;letter-spacing:-.03em}dialog>p{color:var(--secondary);font-size:14px;margin-top:12px}.contact-links{display:flex;flex-direction:column;gap:8px;margin-top:20px}.contact-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--raised);border-radius:12px;min-height:54px;padding:14px 18px;font-size:16px}.contact-links span{color:var(--secondary)}.contact-links a:active{transform:scale(.98)}.phone-link span{font-size:11px}#copy-status{min-height:20px;color:var(--accent);font-size:12px}[hidden]{display:none!important}@keyframes sheet-in{from{transform:translateY(28px);opacity:.4}to{transform:translateY(0);opacity:1}}@media(hover:hover) and (pointer:fine){.day:hover:not(:disabled):not(.busy){background:var(--raised)}.social:hover svg,.icon-button:hover:not(:disabled){background:var(--raised)}.primary:hover{opacity:.9}.variant-link:hover{color:var(--ink)}}@media(min-width:600px){body{background:#080b0e}}@media(max-width:359px){.single-sheet{padding-inline:10px;gap:10px}.calendar-card{margin-inline:-10px;padding-inline:5px;border-radius:14px}.identity h1{font-size:25px}.headphones{height:110px;width:210px}.variant-link{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}@media(prefers-contrast:more){:root{--secondary:#dce3e7;--muted:#b0bcc4}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.date-row{display:grid;grid-template-columns:1fr 44px;gap:8px;align-items:center;margin-top:8px}.date-result{padding:0 4px;min-height:38px}.date-row .primary{width:44px;height:44px;min-height:44px;justify-content:center;padding:10px;border-radius:50%;font-size:0;gap:0}.date-row .primary svg{width:20px;height:20px}.contact-dock{margin-top:0}.single-sheet{gap:10px}.calendar-section{margin-top:0}
@media(max-height:780px) and (max-width:500px){.single-sheet{gap:6px;padding-top:4px;padding-bottom:8px}.headphones{height:90px;width:200px}.identity h1{font-size:25px}.identity p{font-size:12px;margin-top:6px}.contact-dock{gap:2px}}
@media(max-height:780px) and (max-width:500px){.single-sheet{gap:4px}.headphones{height:70px}}

.identity h1{max-width:none;white-space:nowrap;font-size:clamp(18px,5.8vw,24px);line-height:1.2;letter-spacing:-.035em}.brand-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--surface);color:var(--accent);transition:background 120ms var(--ease),transform 120ms var(--ease)}.brand-icon::before{content:"";width:28px;height:28px;background:currentColor;mask:var(--brand-image) center/contain no-repeat;-webkit-mask:var(--brand-image) center/contain no-repeat}.brand-telegram{--brand-image:url('/assets/icons/telegram.svg')}.brand-whatsapp{--brand-image:url('/assets/icons/whatsapp.svg')}.brand-max{--brand-image:url('/assets/icons/max.svg')}.brand-instagram{--brand-image:url('/assets/icons/instagram.svg')}.brand-phone{--brand-image:url('/assets/icons/phone.svg')}.social .brand-icon{font-size:0}.social:active .brand-icon{transform:scale(.94)}@media(hover:hover) and (pointer:fine){.social:hover .brand-icon{background:var(--raised)}}

:root{--touch-target:44px;--icon-tile:52px;--text-small:12px;--text-label:12px}.date-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.date-row .primary{width:auto;min-width:108px;height:auto;min-height:var(--touch-target);padding:12px 14px;border-radius:14px;font-size:13px;gap:8px}.date-row .primary svg{width:17px;height:17px}.date-result p{font-size:var(--text-small)}.weekdays,.legend,.social{font-size:var(--text-label)}.brand-icon{width:var(--icon-tile);height:var(--icon-tile)}@media(max-width:359px){.date-row .primary{min-width:96px;padding-inline:10px;font-size:12px}}

/* Personal photo and room for the contact bar, including iPhone safe areas. */
.single-sheet{padding-bottom:calc(116px + env(safe-area-inset-bottom,0px))}
.hero-photo-wide{width:100%;aspect-ratio:2.1/1;overflow:hidden;border-radius:17px;background:var(--surface);margin:0 auto 8px}
.hero-photo-wide img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% var(--hero-crop-y,40%)}
@media(max-height:780px) and (max-width:500px){.single-sheet{gap:2px;padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}.hero-photo-wide{aspect-ratio:2.8/1;margin-bottom:4px;border-radius:15px}.hero-photo-wide img{object-position:50% var(--hero-crop-y,30%)}}

/* Palette roles: the accent belongs to actions; booked dates have their own warm status. */
:root{--busy:var(--accent);--busy-ink:var(--accent-ink);--busy-mark:var(--accent-ink)}
.day.busy{background-color:var(--busy);color:var(--busy-ink)}
.day.busy .indicator{background:var(--busy-mark)}
.day.busy.selected{outline-color:var(--busy-ink)}
.busy-dot{background:var(--busy-mark)}
.date-row .date-result p{font-size:13px}

@keyframes palette-photo-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@keyframes palette-photo-drift{from{transform:translateY(0) scale(1)}to{transform:translateY(-2px) scale(1.005)}}
@keyframes palette-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes palette-soft-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){html.js [data-motion="photo"]{animation:palette-photo-in 720ms var(--ease-out,cubic-bezier(.22,1,.36,1)) both,palette-photo-drift 14s ease-in-out 1s infinite alternate}html.js [data-motion="title"]{animation:palette-rise 680ms var(--ease-out,cubic-bezier(.22,1,.36,1)) 90ms both}html.js [data-motion="subtitle"]{animation:palette-rise 680ms var(--ease-out,cubic-bezier(.22,1,.36,1)) 160ms both}html.js [data-motion="calendar"]{animation:palette-soft-in 700ms var(--ease-out,cubic-bezier(.22,1,.36,1)) 240ms both}html.js [data-motion="result"]{animation:palette-rise 650ms var(--ease-out,cubic-bezier(.22,1,.36,1)) 320ms both}.js .variant-link{font-size:13px}}

/* Shared spacing rhythm for the compact mobile flow. */
:root{--space-tight:8px;--space-block:12px;--space-section:20px}
.single-sheet{gap:var(--space-block)}
.hero-photo-wide{margin-bottom:var(--space-tight)}
.identity p{margin-top:var(--space-tight)}
.calendar-section{margin-top:var(--space-tight)}
.date-row{margin-top:var(--space-block)}
.legend{flex-wrap:wrap;gap:clamp(8px,2.5vw,14px)}
.legend{font-size:14px}
.legend span{white-space:nowrap}
.legend .free-dot{border-radius:50%}
.legend .busy-dot{width:10px;border-radius:2px;background:var(--busy-bg,var(--accent))}
.legend .unknown-dot{position:relative;background:transparent;border:1px solid var(--muted);border-radius:50%}
.legend .unknown-dot::after{content:"";position:absolute;left:1px;top:2px;width:4px;height:1px;background:var(--muted)}
.variant-link,.weekdays{font-size:12px}
.date-result p,.sync-note p,.preview-tools{font-size:13px}
@media(max-height:780px) and (max-width:500px){.single-sheet{gap:4px}.hero-photo-wide{aspect-ratio:3.2/1;margin-bottom:4px}.hero-photo-wide img{object-position:50% var(--hero-crop-y,0%)}.calendar-section{margin-top:4px}.date-row{margin-top:var(--space-tight)}}

.crop-editor{position:fixed;z-index:20;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,430px);padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-radius:18px 18px 0 0;background:var(--surface);box-shadow:0 -12px 30px #0007;color:var(--ink)}
.crop-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.crop-editor-heading h2{font-size:17px;letter-spacing:-.02em}.crop-editor-heading p{font-size:12px;color:var(--secondary);margin-top:2px}.crop-editor-heading output{font-size:14px;font-variant-numeric:tabular-nums;color:var(--accent);min-width:36px;text-align:right}
.crop-editor input[type=range]{display:block;width:100%;height:28px;margin:5px 0;accent-color:var(--accent);touch-action:pan-x}
.crop-editor-actions{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.crop-editor-actions button{min-height:40px;border:0;border-radius:11px;padding:8px 12px;font:inherit;font-size:13px;font-weight:600;white-space:nowrap}.crop-reset,.crop-done{background:var(--raised);color:var(--ink)}.crop-save{background:var(--accent);color:var(--accent-ink)}.crop-status{min-height:17px;margin-top:5px;color:var(--secondary);font-size:12px;line-height:1.4}
.crop-editor-mode .hero-photo-wide img{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.crop-editor-mode .hero-photo-wide img:active{cursor:grabbing}.crop-editor-mode .fixed-contact-bar{visibility:hidden}
@media(min-width:600px){.crop-editor{bottom:24px;border-radius:18px}}

/* Keep the mobile landing screen balanced across compact Safari viewports. */
@media(max-width:500px) and (max-height:900px){
 .single-sheet{min-height:100svh;min-height:100dvh;gap:clamp(3px,1svh,8px);padding-top:calc(4px + env(safe-area-inset-top,0px));padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
 .hero-photo-wide{aspect-ratio:3/1;margin-bottom:0}
 .calendar-section{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;margin-top:0}
 .calendar-card{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:4px 8px 8px}
 .month-toolbar{min-height:40px;flex:0 0 auto}
 .weekdays{flex:0 0 auto;padding:0 0 2px}
 .days{flex:1 1 auto;min-height:0;grid-template-rows:repeat(6,minmax(0,1fr));gap:0;align-content:stretch}
 .day{height:100%;min-height:0}
 .legend{flex:0 0 auto;margin-top:clamp(4px,.7svh,8px)}
 .date-row{flex:0 0 auto;margin-top:4px}
}
@media(max-width:500px) and (max-height:780px){
 .single-sheet{gap:3px;padding-top:calc(2px + env(safe-area-inset-top,0px));padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
 .topbar{min-height:32px}
 .identity p{margin-top:4px}
 .month-toolbar{min-height:36px}
 .day{font-size:15px}
 .legend{margin-top:3px;font-size:12px}
 .date-row .primary{min-height:40px;padding:8px 12px}
 .fixed-contact-bar{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))}
 .fixed-contact-bar .social{min-height:48px;font-size:11px}
 .fixed-contact-bar .brand-icon{width:44px;height:44px;border-radius:14px}
 .fixed-contact-bar .brand-icon::before{width:25px;height:25px}
}
