/* ── Stone look (same as the product website) ─────────────────────
   "Stein": light stone wall, ivory cards, ink text, serif titles. "Graphit" (html.night): dark marble, graphite cards, ivory text.
   Loaded last; html.stone is set by theme-boot.js. The wall itself is drawn by stone-wall.js / stone.js. */
html.stone{--serif:"Newsreader","Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;background:#c4c2bc}
html.stone.night{background:#161718}
html.stone:not(.night) body{
 --s-page:#c4c2bc;--s-card:rgba(248,246,241,.93);--s-solid:#f5f3ee;--s-tile:rgba(28,28,26,.035);--s-ink:#1c1c1a;--s-soft:#45443f;--s-muted:#5c5b56;
 --s-line:rgba(28,28,26,.1);--s-line2:rgba(28,28,26,.2);--s-accent:#1f5f5c;--s-gold:#86641f;--s-gold-hi:#9a742a;--s-btn:#1c1c1a;--s-btn-ink:#f6f4ef;
 --s-field:rgba(255,255,255,.62);--s-hover:rgba(28,28,26,.055);--s-income:#2c6a4c;--s-danger:#a03d2c;--s-warn:#76561a;--s-warn-bg:rgba(154,116,42,.1);
 --s-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 26px 50px -30px rgba(30,28,24,.5),0 6px 16px -10px rgba(30,28,24,.2);
 --accent:var(--s-accent);--accent-deep:#174845;--accent-soft:rgba(31,95,92,.09);--forest:var(--s-accent);--ink:var(--s-ink);--muted:var(--s-muted);
 --line:var(--s-line);--cream:var(--s-solid);--light:#ebe9e3;--green:rgba(31,95,92,.09);--gold:var(--s-gold-hi)}
html.stone.night body{
 --s-page:#161718;--s-card:rgba(29,30,32,.9);--s-solid:#1f2022;--s-tile:rgba(255,255,255,.035);--s-ink:#ece9e2;--s-soft:#cfcbc2;--s-muted:#a7a39a;
 --s-line:rgba(236,233,226,.09);--s-line2:rgba(236,233,226,.18);--s-accent:#9cc7bd;--s-gold:#d4ae64;--s-gold-hi:#e2c27f;--s-btn:#ece9e2;--s-btn-ink:#1c1c1a;
 --s-field:rgba(0,0,0,.28);--s-hover:rgba(255,255,255,.055);--s-income:#9fcfb9;--s-danger:#f0a093;--s-warn:#e6cb92;--s-warn-bg:rgba(212,174,100,.1);
 --s-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 30px 60px -30px rgba(0,0,0,.8),0 8px 18px -10px rgba(0,0,0,.5);
 --n-bg:#161718;--n-panel:var(--s-card);--n-panel-solid:var(--s-solid);--n-raise:rgba(40,41,43,.94);--n-line:var(--s-line);--n-line-strong:var(--s-line2);
 --n-text:var(--s-ink);--n-muted:var(--s-muted);--n-lime:var(--s-gold);--n-lime-hi:var(--s-gold-hi);--n-lime-soft:rgba(212,174,100,.12);--n-danger:var(--s-danger);--n-income:var(--s-income)}

/* the wall */
html.stone body{background:transparent!important;color:var(--s-ink)}
#stone-wall{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
#stone-wall.front{z-index:399}
html.stone #light-ribbons,html.stone #gravity-background,html.stone .gg-aurora,html.stone .mercury-cursor,html.stone .pt-canvas{display:none!important}
html.stone #title.pt-on,html.stone #title.pt-on em{color:inherit!important}
html.stone body .shell,html.stone body main{background:transparent}

/* type */
html.stone body h1,html.stone body h2,html.stone body h3{color:var(--s-ink)}
html.stone body main h1,html.stone body #title{font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.4vw,50px);line-height:1.06;letter-spacing:-.02em;margin:0 0 10px}
html.stone body h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--s-gold);letter-spacing:-.01em}
html.stone body .card h2,html.stone body .card-head h2,html.stone body dialog h2{font-family:var(--serif);font-weight:400;font-size:23px;letter-spacing:-.01em;line-height:1.2}
html.stone body .eyebrow{color:var(--s-muted);letter-spacing:.02em;text-transform:none;font-size:13px;font-weight:500;opacity:1}
html.stone body p,html.stone body small,html.stone body .muted,html.stone body .footnote,html.stone body .explain,html.stone body .card p,html.stone body .heading p:not(.eyebrow){color:var(--s-muted)}
html.stone body strong,html.stone body b{color:var(--s-ink)}
html.stone body a{color:var(--s-accent)}
html.stone body .income{color:var(--s-income)!important}
html.stone body .negative,html.stone body .danger{color:var(--s-danger)}
#title.st-rise{animation:st-rise 1.1s cubic-bezier(.2,.8,.2,1) both}
@keyframes st-rise{from{opacity:0;transform:translateY(.45em);clip-path:inset(0 -5% 100% -5%)}to{opacity:1;transform:none;clip-path:inset(-20% -5% -30% -5%)}}

/* sidebar: no panel, the wall shows through */
html.stone body>aside{background:transparent!important;border-right:0!important;backdrop-filter:none!important;box-shadow:none}
html.stone body .mercury-wordmark{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;color:var(--s-ink)}
html.stone body .mercury-wordmark>span{color:var(--s-gold)}
html.stone body .brand>small{background:var(--s-tile);color:var(--s-muted);border-radius:99px;padding:3px 9px}
html.stone body>aside nav{background:transparent!important;border:0!important;box-shadow:none!important;padding:0}
html.stone body>aside nav button{background:transparent!important;color:var(--s-soft)!important;border:0!important;border-radius:14px!important;box-shadow:none!important;min-height:46px;transition:background .3s,color .3s,transform .4s cubic-bezier(.2,.8,.2,1)}
html.stone body>aside nav button span{font-family:var(--serif);font-size:19px;font-weight:400!important;letter-spacing:-.01em}
html.stone body>aside nav button:hover{background:var(--s-hover)!important;transform:translateX(3px)}
html.stone body>aside nav button.active,html.stone body>aside nav button.active:hover{background:var(--s-card)!important;color:var(--s-ink)!important;box-shadow:var(--s-shadow)!important}
html.stone body .aside-note,html.stone body .mercury-tools>button{color:var(--s-muted)}
html.stone body .mercury-account>button{background:var(--s-tile);color:var(--s-ink);border-color:var(--s-line)}

/* header and dock float on the wall */
html.stone body .shell>header{background:transparent!important;border-bottom:0!important;backdrop-filter:none!important}
html.stone body .shell>header .pill{background:var(--s-card);color:var(--s-muted);box-shadow:var(--s-shadow)}
html.stone body #mercury-search{color:var(--s-muted)}
html.stone body .dock-shelf{background:var(--s-card)!important;border:0!important;box-shadow:var(--s-shadow)!important;backdrop-filter:none!important}
html.stone body .dock-item>button{color:var(--s-soft)}
html.stone body .dock-item.is-on>button{color:var(--s-ink)}
html.stone body .dock-sep{background:var(--s-line2)}
html.stone body .dock-tip{background:var(--s-btn);color:var(--s-btn-ink);border-color:transparent}
html.stone body footer{color:var(--s-muted);border-color:var(--s-line)}

/* cards float in front of the wall */
html.stone body .card,html.stone body .kpi,html.stone body .featured,html.stone body .coach-card,html.stone body .available-card,html.stone body .focus-week{background:var(--s-card)!important;border:0!important;color:var(--s-ink);border-radius:22px;box-shadow:var(--s-shadow)!important}
html.stone body .card::before,html.stone body .kpi::before{display:none}
html.stone body .kpi label,html.stone body .kpi small{color:var(--s-muted)}
html.stone body .kpi .number,html.stone body .number{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;color:var(--s-ink);font-variant-numeric:tabular-nums;text-shadow:none}
html.stone body .kpi .number{font-size:clamp(30px,2.8vw,42px);line-height:1.05}
html.stone body .kpi.focus-free{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--s-gold) 40%,transparent),var(--s-shadow)!important}
html.stone body .kpi.focus-free .number,html.stone body .focus-balances .balance-total{color:var(--s-gold);text-shadow:none}
html.stone body .coach-kpis>div,html.stone body .coach-pot{background:var(--s-tile);border:1px solid var(--s-line);color:var(--s-ink);border-radius:16px}
html.stone body .coach-kpis strong{color:var(--s-ink)}
html.stone body .row,html.stone body .booking-card,html.stone body .bank-tile{border-color:var(--s-line)}
html.stone body .bank-tile{background:transparent}

/* buttons, fields */
html.stone body button,html.stone body .more-actions>summary{background:transparent;border:1px solid var(--s-line2);color:var(--s-ink);border-radius:999px;box-shadow:none}
html.stone body button:hover{background:var(--s-hover);border-color:var(--s-line2)}
html.stone body button.primary,html.stone body .primary,html.stone body #mercury-new{background:var(--s-btn);border-color:var(--s-btn);color:var(--s-btn-ink);font-weight:500;box-shadow:0 10px 24px -14px rgba(0,0,0,.6)}
html.stone body button.primary:hover,html.stone body #mercury-new:hover{background:var(--s-btn);border-color:var(--s-btn);opacity:.88}
html.stone body .quiet,html.stone body button.quiet{color:var(--s-accent);background:transparent;border-color:transparent}
html.stone body button.danger-quiet{color:var(--s-danger)}
html.stone body .delete-transaction{background:transparent;border-color:color-mix(in srgb,var(--s-danger) 35%,transparent);color:var(--s-danger)}
html.stone body input,html.stone body select,html.stone body textarea{background:var(--s-field);color:var(--s-ink);border:1px solid var(--s-line2);border-radius:12px}
html.stone body input:focus,html.stone body select:focus,html.stone body textarea:focus{border-color:var(--s-ink);outline:none;box-shadow:0 0 0 3px var(--s-hover)}
html.stone body :focus-visible{outline-color:var(--s-ink)!important}
html.stone body option{background:var(--s-solid);color:var(--s-ink)}
html.stone body .segmented{background:var(--s-tile);border:1px solid var(--s-line);border-radius:999px}
html.stone body .segmented button{border:0;background:transparent;color:var(--s-muted)}
html.stone body .segmented [aria-pressed=true]{background:var(--s-card);color:var(--s-ink);box-shadow:0 2px 8px -2px rgba(0,0,0,.2)}
html.stone body .theme-switch [aria-pressed=true]{background:var(--s-btn);color:var(--s-btn-ink);border-color:var(--s-btn)}

/* lists, tables, notes */
html.stone body table{color:var(--s-ink)}
html.stone body th{background:transparent;color:var(--s-muted);border-color:var(--s-line)}
html.stone body td{border-color:var(--s-line)}
html.stone body tbody tr:hover{background:var(--s-hover)}
html.stone body .sort-heading,html.stone body button.bank-assignment,html.stone body .category-link{background:transparent;border:0;color:var(--s-ink)}
html.stone body .sort-heading{color:var(--s-muted)}
html.stone body .note,html.stone body .badge,html.stone body .coach-notice,html.stone body .auto-bank-summary{background:var(--s-warn-bg)!important;border:1px solid color-mix(in srgb,var(--s-gold) 25%,transparent)!important;color:var(--s-warn);border-radius:16px}
html.stone body .status-chip{background:var(--s-tile);color:var(--s-ink)}
html.stone body .status-chip.is-paid,html.stone body .cost-row .is-paid{background:color-mix(in srgb,var(--s-income) 13%,transparent);color:var(--s-income)}
html.stone body .status-chip.is-open,html.stone body .cost-row .is-open{background:var(--s-warn-bg);color:var(--s-warn)}
html.stone body .status-chip.needs-review{background:color-mix(in srgb,var(--s-danger) 12%,transparent);color:var(--s-danger)}
html.stone body .more-actions>div,html.stone body .ring-tooltip,html.stone body #float-tip,html.stone body #deletion-notice{background:var(--s-solid);color:var(--s-ink);border:1px solid var(--s-line);box-shadow:0 24px 50px -20px rgba(0,0,0,.45)}
html.stone body .more-actions>div>button{border:0;border-radius:10px}

/* charts: flat stone tones */
html.stone body .mercury-chart{background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),var(--s-line) calc(25% - 1px),var(--s-line) 25%)}
html.stone body .mercury-month.current{background:linear-gradient(to top,var(--s-hover),transparent)}
html.stone body .mercury-bars>span{background:var(--s-ink)!important;box-shadow:none!important;border-radius:5px 5px 1px 1px}
html.stone body .mercury-bars>span+span{background:color-mix(in srgb,var(--s-ink) 30%,transparent)!important}
html.stone body .mercury-bars>span::before,html.stone body .mercury-bars>span::after{display:none!important}
html.stone body .legend i,html.stone body .bar,html.stone body .track span,html.stone body .coach-meter>span{background:var(--s-gold-hi)!important;box-shadow:none!important}
html.stone body .legend i.dark,html.stone body .bar.spent{background:color-mix(in srgb,var(--s-ink) 30%,transparent)!important}
html.stone body .track,html.stone body .coach-meter{background:var(--s-tile)}
html.stone body .ring-segment{filter:none}
html.stone body .donut>div,html.stone body .donut-center{background:transparent!important}

/* dialogs, companion, toast */
html.stone body dialog{background:var(--s-solid);color:var(--s-ink);border:0;border-radius:24px;box-shadow:0 40px 100px -30px rgba(0,0,0,.6)}
html.stone body dialog::backdrop{background:rgba(20,20,18,.35);backdrop-filter:blur(6px)}
html.stone body .coach-dialog.companion-panel{background:var(--s-solid);border-color:var(--s-line)}
html.stone body .companion-header{background:transparent;border-color:var(--s-line)}
html.stone body .companion-answer{background:var(--s-tile);color:var(--s-ink)}
html.stone body .companion-question{background:var(--s-btn);color:var(--s-btn-ink)}
html.stone body .companion-suggestions button,html.stone body .companion-panel .companion-composer{background:transparent;border-color:var(--s-line2);color:var(--s-ink)}
html.stone body #strippi-greet{background:var(--s-solid);color:var(--s-ink);border:0;box-shadow:var(--s-shadow);border-radius:20px}
html.stone body #toast{background:var(--s-btn);color:var(--s-btn-ink)}

/* page arrival in both looks */
html.stone:not(.night) body #content.arrive>*,html.stone:not(.night) body #content.arrive>.kpis>*,html.stone:not(.night) body #content.arrive>.mercury-analysis>*{animation:night-rise .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0)*70ms)}
html.stone:not(.night) body #content.arrive>.kpis,html.stone:not(.night) body #content.arrive>.mercury-analysis{animation:none}
html.stone:not(.night) body #content.arrive *{animation:none!important}

/* ── lock screen: the wall first, the login one screen further down ── */
html.stone body #vault-gate{background:transparent!important;display:block;padding:0!important;min-height:0;overflow:visible}
.sg-hero{height:100svh;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 7vw;gap:40px;color:var(--s-ink)}
.sg-logo{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:13px;letter-spacing:.32em;text-transform:uppercase;animation:sg-fade 1.4s ease .2s both}
.sg-logo .strippi-bot-slot{display:block;width:36px;height:36px}
.sg-line{font-family:var(--serif)!important;font-weight:400!important;font-size:clamp(26px,2.5vw,38px)!important;line-height:1.15!important;letter-spacing:-.02em;text-align:center;margin:0!important;color:var(--s-ink)}
.sg-line span{display:inline-block;animation:sg-rise 1.4s cubic-bezier(.2,.8,.2,1) both}
.sg-line span+span{animation-delay:.18s}
.sg-down{all:unset;justify-self:end;cursor:pointer;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--s-muted);padding:10px 0;animation:sg-fade 1.4s ease .6s both}
.sg-down:hover{color:var(--s-ink)}
.sg-down:focus-visible{outline:1.5px solid currentColor;outline-offset:6px;border-radius:4px}
.sg-down i{width:1px;height:28px;background:currentColor;animation:sg-drop 2.4s cubic-bezier(.6,0,.2,1) infinite}
@keyframes sg-drop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@keyframes sg-rise{from{opacity:0;transform:translateY(.6em)}to{opacity:1;transform:none}}
@keyframes sg-fade{from{opacity:0}to{opacity:1}}
@media(max-width:860px){.sg-hero{grid-template-columns:1fr;justify-items:center;align-content:center;text-align:center;padding:0 24px;gap:30px}.sg-down{justify-self:center}.sg-line span{display:block}}
.sg-login{min-height:100svh;display:grid;place-items:center;padding:10vh 18px 14vh}
html.stone body #vault-gate .gate-card.gg-card{width:min(520px,100%);background:var(--s-card);border:0;border-radius:28px;box-shadow:var(--s-shadow);backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--s-ink);padding:40px 38px 32px}
html.stone body #vault-gate .gate-card.gg-card::before{display:none}
html.stone body .gg-card h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4vw,44px);letter-spacing:-.02em;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--s-ink);-webkit-text-fill-color:currentColor}
html.stone body .gg-bot::before{background:radial-gradient(circle,color-mix(in srgb,var(--s-ink) 10%,transparent),transparent 68%)}
html.stone body .gg-card input[type=password]{background:var(--s-field);border-color:var(--s-line2);height:50px;border-radius:14px}
html.stone body .gg-card input[type=password]:focus{border-color:var(--s-ink);box-shadow:0 0 0 4px var(--s-hover)}
html.stone body .gg-card button.primary{background:var(--s-btn);color:var(--s-btn-ink);border-radius:999px;box-shadow:0 14px 30px -16px rgba(0,0,0,.7);font-weight:500}
html.stone body .gg-card button.primary::after{background:linear-gradient(100deg,transparent,rgba(255,255,255,.18),transparent)}
html.stone body .gg-card .actions button,html.stone body .gg-card>button{background:transparent;border-color:var(--s-line2)}
html.stone body .gg-card .actions button:hover,html.stone body .gg-card>button:hover{background:var(--s-hover);border-color:var(--s-line2)}
html.stone body #gate-dock{position:absolute;top:max(22px,env(safe-area-inset-top))}
@media(max-width:760px){html.stone body #vault-gate .gate-card.gg-card{padding:30px 22px 24px;border-radius:24px}}
@media(prefers-reduced-motion:reduce){.sg-line span,.sg-logo,.sg-down,.sg-down i,#title.st-rise{animation:none!important}}

/* welcome after unlocking */
html.stone #welcome-splash{background:var(--s-page,#c4c2bc)}
html.stone .ws-word{font-family:var(--serif);font-weight:400;letter-spacing:-.03em;color:var(--s-ink,#1c1c1a)}
html.stone .ws-word .dot{color:var(--s-gold-hi,#9a742a)}

/* fine-tuning */
html.stone body .stone-mark{display:block;width:34px;height:34px;flex-shrink:0}
html.stone body>aside nav button span{font-size:17px;white-space:nowrap}
html.stone body .sg-down{all:unset;justify-self:end;cursor:pointer;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--s-muted);padding:10px 0;animation:sg-fade 1.4s ease .6s both}
html.stone body .sg-down:hover{background:none;color:var(--s-ink)}
@media(max-width:860px){html.stone body .sg-down{justify-self:center}}
html.stone body .studio-coach-intro h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.2vw,44px);letter-spacing:-.02em;line-height:1.08}
html.stone body .coach-kpis strong{font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:-.02em}
/* phone: the menu slides over the page, so it gets its own stone panel */
@media(max-width:760px){html.stone body>aside{background:var(--s-solid)!important;box-shadow:20px 0 60px -20px rgba(0,0,0,.5)}
 html.stone body.mercury-menu-open .shell::after{background:rgba(20,20,18,.3);backdrop-filter:blur(4px)}}
html.stone body .legend i{background:var(--s-ink)!important}

/* person switch: a pressed bubble stays where it is (the general press effect would pull it back to the start) */
html.stone body .person-switch[data-open=true] .person-option:active{transform:translate(var(--x),var(--y)) scale(.94)}
html.stone body .person-main>svg:first-child{transition:opacity .2s,transform .35s cubic-bezier(.34,1.56,.64,1)}
html.stone body .person-switch[data-open=true] .person-main>svg:first-child{opacity:0;transform:rotate(90deg) scale(.6)}
html.stone body .goo-labels svg{width:22px;height:22px}
html.stone body .goo-labels>button{color:var(--s-ink)}
html.stone body .person-option.is-current,html.stone body .person-main{color:var(--s-ink)}
html.stone body .person-current{color:var(--s-muted)}
html.stone .goo-blobs{filter:url(#strippi-goo) drop-shadow(0 8px 16px rgba(30,28,24,.22))}
html.stone:not(.night) .goo-blobs .blob{background:#f8f6f1}
html.stone.night .goo-blobs .blob{background:#2a2b2d}
html.stone.night .goo-blobs{filter:url(#strippi-goo) drop-shadow(0 8px 18px rgba(0,0,0,.5))}

/* dock: clean line icons that lift a little under the pointer */
html.stone body .dock-item>button svg{transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .3s}
html.stone body .dock-item>button:hover svg{transform:translateY(-2px)}
html.stone body .dock-item:not(.is-on)>button svg{opacity:.8}

/* lock screen: stays invisible until the stone look has dressed it (a slow fallback shows it anyway) */
html.stone body #vault-gate:not(.sg-ready){opacity:0;animation:sg-fallback .4s ease 2.5s forwards}
html.stone body #vault-gate.sg-ready{opacity:1;transition:opacity .6s ease}
@keyframes sg-fallback{to{opacity:1}}

/* language: a dark veil grows out of the globe and the languages rise in large serif type, like the website menu */
#stone-lang{position:fixed;inset:0;z-index:400;display:grid;place-items:center;color:#ece9e2;visibility:hidden;pointer-events:none}
#stone-lang.open{visibility:visible;pointer-events:auto}
#stone-lang .veil{position:absolute;inset:0;background:radial-gradient(120% 90% at var(--ox) var(--oy),rgba(22,22,21,.9),rgba(10,10,10,.94));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
 clip-path:circle(0 at var(--ox) var(--oy));transition:clip-path 1.5s cubic-bezier(.7,0,.2,1)}
#stone-lang.open .veil{clip-path:circle(150% at var(--ox) var(--oy))}
#stone-lang.closing .veil{transition-duration:1s}
#stone-lang .sl-head{position:absolute;top:max(30px,env(safe-area-inset-top));left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 40px;font-size:13px;opacity:0;transition:opacity .6s ease}
#stone-lang.open .sl-head{opacity:1;transition-delay:.7s}
#stone-lang .sl-head span{color:#a7a39a;letter-spacing:.02em}
#stone-lang .sl-close{all:unset;cursor:pointer;display:flex;align-items:center;gap:12px;font-size:14px;color:#ece9e2;padding:8px 0}
#stone-lang .sl-close i{width:16px;height:16px;position:relative}
#stone-lang .sl-close i::before,#stone-lang .sl-close i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:currentColor;transform:rotate(45deg)}
#stone-lang .sl-close i::after{transform:rotate(-45deg)}
#stone-lang .sl-close:focus-visible,#stone-lang .sl-item:focus-visible{outline:1.5px solid currentColor;outline-offset:6px;border-radius:4px}
#stone-lang .sl-list{position:relative;display:flex;flex-direction:column;align-items:center}
#stone-lang .sl-item{all:unset;cursor:pointer;display:block;overflow:hidden;padding:.14em .1em 0;margin-top:-.14em;font-family:var(--serif);font-weight:400;font-size:clamp(40px,5.6vw,80px);line-height:1.14;letter-spacing:-.025em;white-space:nowrap;color:#ece9e2;transition:opacity .6s ease}
#stone-lang .sl-in{display:inline-flex;align-items:baseline;gap:.25em;transform:translateY(115%);transition:transform 1.3s cubic-bezier(.2,.8,.2,1)}
#stone-lang.open .sl-in{transform:none}
#stone-lang .sl-item .sl-dot{width:.12em;height:.12em;border-radius:50%;background:#d4ae64;align-self:center;opacity:0}
#stone-lang .sl-item[aria-checked=true] .sl-dot{opacity:1}
#stone-lang .sl-item[aria-checked=true] .sl-name{font-style:italic}
#stone-lang .sl-hint{display:inline-block;max-width:0;overflow:hidden;white-space:nowrap;font-style:italic;font-size:.42em;color:#a7a39a;opacity:0;transition:max-width .9s cubic-bezier(.7,0,.2,1),opacity .6s ease .1s}
@media(hover:hover){#stone-lang .sl-item:hover .sl-hint,#stone-lang .sl-item:focus-visible .sl-hint{max-width:14em;opacity:1}#stone-lang .sl-list:hover .sl-item:not(:hover){opacity:.4}}
#stone-lang.closing .sl-in{transform:translateY(-115%);transition-duration:.7s;transition-delay:0s!important}
#stone-lang.closing .sl-head{opacity:0;transition-delay:0s}
#stone-lang.fogged .veil{display:none}
#stone-lang.fogged.open .sl-head{transition-delay:1.2s}
@media(max-width:760px){#stone-lang .sl-head{padding:0 20px}}
@media(prefers-reduced-motion:reduce){#stone-lang .veil,#stone-lang .sl-in,#stone-lang .sl-head{transition:none!important}}
/* arriving from the website: the plain stone the website ended on lifts, the page drifts in on the last breath of the wind */
html.from-web::after{content:"";position:fixed;inset:0;z-index:600;background:#c4c2bc;pointer-events:none;animation:fw-lift 1.4s ease .35s forwards}
html.from-web body .shell>*,html.from-web body #vault-gate>*{animation:fw-in 1.5s cubic-bezier(.2,.8,.2,1) both}
html.from-web body .shell>*:nth-child(2),html.from-web body #vault-gate>*:nth-child(2){animation-delay:.12s}
html.from-web body .shell>*:nth-child(3),html.from-web body #vault-gate>*:nth-child(3){animation-delay:.24s}
@keyframes fw-lift{to{opacity:0;visibility:hidden}}
@keyframes fw-in{from{opacity:0;transform:translate3d(-48px,0,0);filter:blur(5px)}60%{filter:blur(0)}to{opacity:1;transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){html.from-web::after{animation-duration:.4s;animation-delay:0s}html.from-web body .shell>*,html.from-web body #vault-gate>*{animation:none}}
