/* Styles for the newer apps: Journal, Projects, Links, Notes ... Loaded with the desktop. */
.app-loading{display:grid;place-items:center;height:60%;min-height:200px}
.rb-spin{display:inline-block;width:24px;height:24px;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:rbspin .8s linear infinite}
@keyframes rbspin{to{transform:rotate(360deg)}}
/* block content inside windows: beat the generic .body rules */
.body .bk-doc p,.body .bk-doc li{color:var(--ink);max-width:none;line-height:1.75;font-size:inherit}
.body .bk-doc>h2{font-size:var(--bk-h1);margin:1.6em 0 0;color:var(--ink)}.body .bk-doc>h3{font-size:var(--bk-h2);margin:1.4em 0 0;color:var(--ink)}.body .bk-doc>h4{font-size:var(--bk-h3);margin:1.2em 0 0;color:var(--ink)}
.body .bk-doc>h2:first-child,.body .bk-doc>h3:first-child,.body .bk-doc>h4:first-child{margin-top:0}
.body .bk-col h2,.body .bk-col h3,.body .bk-col h4,.body .bk-toggle h2,.body .bk-toggle h3,.body .bk-toggle h4{margin:.8em 0 0;line-height:1.25}
.body .bk-doc blockquote p{margin:0;color:inherit}
.body .rte-doc p{max-width:none;color:inherit}
.dangerb{background:var(--danger)!important;color:#fff!important}
.sp{flex:1}
.chipin{display:flex;flex-wrap:wrap;gap:calc(6 * var(--u));align-items:center;border:1px solid rgba(127,127,127,.4);border-radius:var(--r-4);padding:calc(6 * var(--u)) calc(8 * var(--u));min-height:42px}
.chipin input{flex:1;min-width:90px;border:0!important;background:none!important;padding:calc(4 * var(--u))!important;outline:none;font:inherit;color:inherit}
.chip.x{display:inline-flex;gap:calc(4 * var(--u));align-items:center;padding:calc(4 * var(--u)) calc(6 * var(--u)) calc(4 * var(--u)) calc(12 * var(--u))}.chip.x button{border:0;background:none;color:inherit;opacity:.6;cursor:pointer;font-size:var(--fs-6);line-height:1;padding:0 calc(4 * var(--u))}
/* journal list */
.jr .nt-head{align-items:flex-end}.jr-sub{margin:0 0 calc(14 * var(--u))!important;font-size:var(--fs-6)}
.jr-find{margin:0 0 calc(12 * var(--u))}.jr-search{width:100%;border:0;background:var(--surface2);color:var(--ink);font:inherit;font-size:var(--fs-5);border-radius:var(--r-pill);padding:calc(11 * var(--u)) calc(18 * var(--u))}
.jr-search:focus{outline:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 70%,transparent)}
.jr-feat{display:flex;flex-direction:column;border-radius:var(--r-7);overflow:hidden;background:var(--surface2);text-decoration:none;color:var(--ink);margin:calc(6 * var(--u)) 0 calc(4 * var(--u));transition:transform var(--d-2)}
.jr-feat:hover{transform:translateY(-2px)}
.jr-feat img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.jr-fb{display:flex;flex-direction:column;gap:calc(6 * var(--u));padding:calc(16 * var(--u)) calc(18 * var(--u)) calc(18 * var(--u))}.jr-fb small{color:var(--ink2);font-weight:var(--fw-m)}.jr-fb b{font-size:clamp(20px,3vw,26px);line-height:1.2;letter-spacing:-.015em}.jr-fb span{color:var(--ink2);line-height:1.5}
.je{text-decoration:none;color:inherit;display:flex;gap:calc(16 * var(--u));width:100%;padding:calc(18 * var(--u)) 0;align-items:flex-start}
a.je:hover .jt{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.jr-th{flex:none;width:96px;height:72px;border-radius:var(--r-5);object-fit:cover;background:var(--surface2);margin-left:auto}
@media (max-width:520px){.jr-th{width:72px;height:72px}}
.jr-row{display:flex;gap:calc(6 * var(--u));align-items:center;flex-wrap:wrap}.jr-bar .back{margin-bottom:calc(8 * var(--u))}
.jr-bar button:not(.back){border:0;border-radius:var(--r-pill);padding:calc(7 * var(--u)) calc(14 * var(--u));font:inherit;font-size:var(--fs-3);font-weight:var(--fw-m);cursor:pointer;background:var(--surface2);color:inherit;margin-bottom:calc(8 * var(--u))}
.jr-tocp{position:absolute;right:24px;top:52px;z-index:6;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-5);box-shadow:var(--shadow);padding:calc(6 * var(--u));max-width:min(340px,86%);max-height:50vh;overflow:auto;display:flex;flex-direction:column}
.jr-tocp button{border:0;background:none;text-align:left;padding:calc(8 * var(--u)) calc(12 * var(--u));border-radius:var(--r-4);font:inherit;font-size:var(--fs-4);cursor:pointer;color:var(--ink)}.jr-tocp button:hover{background:var(--surface2)}.jr-tocp .l2{padding-left:calc(26 * var(--u));color:var(--ink2)}
.jr-tags{display:flex;gap:calc(8 * var(--u));flex-wrap:wrap;margin:calc(18 * var(--u)) 0 0}.jr-tags a{font-size:var(--fs-4);font-weight:var(--fw-m);color:var(--primary);text-decoration:none;background:var(--surface2);border-radius:var(--r-pill);padding:calc(5 * var(--u)) calc(12 * var(--u))}
.jr-rel{margin-top:calc(28 * var(--u))}.jr-rel h2{font-size:var(--fs-7)!important;margin:0 0 calc(8 * var(--u))!important}.jr-rel a{display:flex;flex-direction:column;gap:2px;padding:calc(12 * var(--u)) 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}.jr-rel a span{color:var(--ink2);font-size:var(--fs-4)}
.jr-pn{display:grid;grid-template-columns:1fr 1fr;gap:calc(10 * var(--u));margin-top:calc(22 * var(--u))}.jr-pn a{display:flex;flex-direction:column;gap:calc(3 * var(--u));padding:calc(14 * var(--u)) calc(16 * var(--u));border-radius:var(--r-6);background:var(--surface2);text-decoration:none;color:var(--ink)}.jr-pn a:last-child{text-align:right}.jr-pn small{color:var(--ink2);font-weight:var(--fw-b)}
.body .jr-art .callout p{font-size:var(--fs-5)}
/* journal studio */
.jr-editing{overflow:hidden!important;padding:0!important;position:relative}
.jed{height:100%;display:flex;flex-direction:column;position:relative}
.jed-bar{flex:none;display:flex;gap:calc(8 * var(--u));align-items:center;padding:calc(8 * var(--u)) calc(24 * var(--u)) calc(10 * var(--u));border-bottom:1px solid var(--line);background:var(--surface)}
.jed-bar button{border:0;border-radius:var(--r-pill);padding:calc(8 * var(--u)) calc(14 * var(--u));font:inherit;font-size:var(--fs-4);font-weight:var(--fw-m);cursor:pointer;background:var(--surface2);color:var(--ink);white-space:nowrap}
.jed-bar .btn{background:var(--primary);color:var(--on-primary);padding:calc(8 * var(--u)) calc(16 * var(--u))}.jed-bar .btn.tonal{background:var(--surface2);color:var(--ink)}
.jed-st{font-size:var(--fs-3);color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jed-live{font-size:var(--fs-2);font-weight:var(--fw-x);background:var(--ok);color:#06361a;border-radius:var(--r-pill);padding:calc(3 * var(--u)) calc(9 * var(--u))}
.jed-scroll{flex:1;min-height:0;overflow:auto;padding:0 calc(24 * var(--u));scrollbar-width:thin}
.jed-main{max-width:760px;margin:0 auto;padding:calc(18 * var(--u)) 0 calc(40 * var(--u))}
.jed-cover{position:relative;margin-bottom:calc(18 * var(--u));border-radius:var(--r-6);overflow:hidden}.jed-cover.over{outline:2px dashed var(--primary)}.jed-cover.busy{opacity:.6}
.jed-cover img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.jed-ct{position:absolute;right:10px;bottom:10px;display:flex;gap:calc(6 * var(--u))}.jed-ct button{border:0;border-radius:var(--r-pill);padding:calc(7 * var(--u)) calc(13 * var(--u));font:inherit;font-size:var(--fs-3);font-weight:var(--fw-m);background:rgba(0,0,0,.62);color:#fff;cursor:pointer}
.jed-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(4 * var(--u));width:100%;aspect-ratio:16/6;min-height:110px;border:2px dashed var(--line);border-radius:var(--r-6);background:var(--surface2);color:var(--ink2);font:inherit;font-weight:var(--fw-b);cursor:pointer}.jed-add:hover{border-color:var(--primary);color:var(--ink)}.jed-add span{font-size:var(--fs-9)}.jed-add small{font-weight:500;font-size:var(--fs-3)}
.jed-title{width:100%;border:0;background:none;color:var(--ink);font:inherit;font-size:clamp(28px,4.2vw,40px);font-weight:var(--fw-x);letter-spacing:-.025em;line-height:1.12;resize:none;outline:none;overflow:hidden;padding:calc(4 * var(--u)) 0}
.jed-excerpt{width:100%;border:0;background:none;color:var(--ink2);font:inherit;font-size:var(--fs-7);line-height:1.5;resize:none;outline:none;padding:calc(4 * var(--u)) 0 calc(14 * var(--u));margin-bottom:calc(8 * var(--u));border-bottom:1px solid var(--line);overflow:hidden}
.jed-title::placeholder,.jed-excerpt::placeholder{color:var(--ink2);opacity:.45}
.jed-prev{padding-top:calc(8 * var(--u))}
.jed-side{position:absolute;top:57px;right:0;bottom:0;width:min(380px,100%);z-index:30;background:var(--surface);border-left:1px solid var(--line);box-shadow:-18px 0 50px rgba(0,0,0,.18);padding:calc(16 * var(--u)) calc(18 * var(--u)) calc(40 * var(--u));overflow:auto;animation:sidein var(--d-2) ease-out}
@keyframes sidein{from{transform:translateX(30px);opacity:0}}
.jed-side[hidden]{display:none}
.jed-sh{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(8 * var(--u))}.jed-sh button{border:0;background:var(--surface2);border-radius:50%;width:32px;height:32px;cursor:pointer;color:var(--ink)}
.jed-side h3{margin:calc(18 * var(--u)) 0 calc(6 * var(--u));font-size:var(--fs-5)}.jed-side .ow-f small{opacity:.7;font-weight:500}.jed-side select,.jed-side textarea,.jed-side input:not([type=checkbox]){font:inherit;font-size:var(--fs-5);padding:calc(9 * var(--u)) calc(12 * var(--u));border-radius:var(--r-4);border:1px solid rgba(127,127,127,.4);background:transparent;color:inherit;width:100%}
.serp{border:1px solid var(--line);border-radius:var(--r-5);padding:calc(12 * var(--u)) calc(14 * var(--u));margin:calc(8 * var(--u)) 0;display:flex;flex-direction:column;gap:2px;background:var(--surface2)}.serp small{color:var(--ink2);font-size:var(--fs-2)}.serp b{color:#1a0dab;font-size:var(--fs-7);font-weight:500;line-height:1.3}.serp span{color:var(--ink2);font-size:var(--fs-4);line-height:1.45}
:root[data-theme="dark"] .serp b{color:#8ab4f8}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .serp b{color:#8ab4f8}}
.hint{color:var(--ink2);font-size:var(--fs-3);line-height:1.45}

.jed-side [hidden],.jed [hidden]{display:none!important}
/* projects */
.pj-tools{display:flex;gap:calc(8 * var(--u));margin:0 0 calc(12 * var(--u))}.pj-tools .jr-search{flex:1}.pj-sort{border:0;background:var(--surface2);color:var(--ink);font:inherit;font-size:var(--fs-4);border-radius:var(--r-pill);padding:0 calc(14 * var(--u))}
.pj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:calc(16 * var(--u));margin-top:calc(6 * var(--u))}
.pj-grid.mini{display:grid;gap:calc(16 * var(--u));margin-top:calc(6 * var(--u));grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
/* "More projects" cards sit inside .jr-rel and a .mini grid: undo the related-link and pill-link styles those bring */
.pj-grid.mini a.pj-card{padding:0;border:0;background:none;border-radius:var(--r-7);font-size:inherit;font-weight:inherit}.jr-rel .pj-card span{color:inherit;font-size:inherit}.jr-rel .pj-card .pj-m small{color:var(--ink2);font-size:var(--fs-3)}@media (max-width:520px){.pj-grid.mini{grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(12 * var(--u))}}
@media (max-width:520px){.pj-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(12 * var(--u))}}
.pj-card{position:relative;display:flex;flex-direction:column;gap:calc(8 * var(--u));text-decoration:none;color:var(--ink);border-radius:var(--r-7);transition:transform var(--d-3) var(--ease-spring)}
.pj-card:hover{transform:translateY(-3px)}.pj-card.dim{opacity:.7}
.pj-cv{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--r-6);overflow:hidden;background:var(--bgc,var(--c2));box-shadow:0 1px 0 rgba(0,0,0,.04)}
.pj-cv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.pj-card:hover .pj-cv img{transform:scale(1.05)}
.pj-ph{position:absolute;inset:0;display:grid;place-items:center;font-size:var(--fs-13);font-weight:var(--fw-x);color:var(--glyph);opacity:.55}
.pj-b{position:absolute;left:10px;top:10px;font-style:normal;font-size:var(--fs-2);font-weight:var(--fw-x);background:rgba(255,255,255,.92);color:#222;border-radius:var(--r-pill);padding:calc(3 * var(--u)) calc(10 * var(--u))}.pj-b.d{background:#F5A524;color:#2b1d00}
.pj-m{display:flex;flex-direction:column;padding:0 calc(4 * var(--u))}.pj-m b{font-size:var(--fs-5);line-height:1.25}.pj-m small{color:var(--ink2);font-size:var(--fs-3)}
.pj-st{display:flex;gap:calc(10 * var(--u));padding:0 calc(4 * var(--u));color:var(--ink2);font-size:var(--fs-2);font-weight:var(--fw-m)}
.pj-more{position:absolute;top:8px;right:8px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:var(--r-4);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);cursor:pointer;opacity:0;transition:opacity var(--d-2),transform var(--d-1)}.pj-more:hover{transform:scale(1.06)}
.pj-card:hover .pj-more,.pj-more:focus-visible{opacity:1}@media (pointer:coarse){.pj-more{opacity:1}}.pj-grid.mini .pj-more{display:none}
.pj-tools{align-items:center;flex-wrap:wrap}.pj-tools .seg{flex:none}.pj-tools .jr-search{min-width:170px}
.pj-menu{min-width:190px}
.pj-hero{margin-bottom:calc(16 * var(--u));aspect-ratio:16/10;object-fit:cover}
.pj-like.on{background:var(--danger)!important;color:#fff!important}
.pj-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:calc(12 * var(--u)) calc(18 * var(--u));margin:calc(16 * var(--u)) 0 calc(8 * var(--u))}.pj-facts>div{display:flex;flex-direction:column;gap:calc(3 * var(--u))}.pj-facts .wide{grid-column:1/-1}
.pj-facts dt{font-size:var(--fs-2);font-weight:var(--fw-x);text-transform:uppercase;letter-spacing:.07em;color:var(--ink2)}.pj-facts dd{margin:0;font-weight:var(--fw-m)}
.pj-content{margin-top:calc(22 * var(--u))}
.pj-credits{margin-top:calc(28 * var(--u))}.pj-credits h2{font-size:var(--fs-7)!important;margin:0 0 calc(6 * var(--u))!important}.pj-credits ul{list-style:none;padding:0;margin:0}.pj-credits li{padding:calc(8 * var(--u)) 0;border-top:1px solid var(--line)}.pj-credits li span{color:var(--ink2);margin-left:calc(8 * var(--u));font-size:var(--fs-4)}
.pj-lic{margin:calc(14 * var(--u)) 0 0}.pj-lic small{color:var(--ink2)}
.pj-cover{aspect-ratio:auto}.pj-cover img{aspect-ratio:4/3;max-height:420px;cursor:crosshair}
.pj-focus{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px rgba(0,0,0,.45);pointer-events:none}
.pj-hint{position:absolute;left:12px;bottom:12px;max-width:60%;background:rgba(0,0,0,.6);color:#fff;border-radius:var(--r-4);padding:calc(5 * var(--u)) calc(10 * var(--u));font-size:var(--fs-2);pointer-events:none}
.pj-two{display:grid;grid-template-columns:1fr 1fr;gap:calc(10 * var(--u))}.pj-rows{display:flex;flex-direction:column;gap:calc(8 * var(--u));margin-bottom:calc(8 * var(--u))}.pj-row{display:flex;gap:calc(6 * var(--u));flex-wrap:wrap}.pj-row input{flex:1;min-width:110px;font:inherit;font-size:var(--fs-4);padding:calc(8 * var(--u)) calc(10 * var(--u));border-radius:var(--r-4);border:1px solid rgba(127,127,127,.4);background:transparent;color:inherit}
/* links hub */
.hubwrap{margin:-4px -24px -24px;min-height:calc(100% + 28px)}
.hub{--hb-r:18px;position:relative;min-height:100%;background:var(--hb-bg);color:var(--hb-fg);font-family:var(--hb-font);overflow:hidden}
.hub[data-shape="pill"]{--hb-r:999px}.hub[data-shape="square"]{--hb-r:6px}
.hb-pat{position:absolute;inset:0;pointer-events:none;opacity:.5}
.hub[data-pattern="dots"] .hb-pat{background-image:radial-gradient(currentColor 1.2px,transparent 1.4px);background-size:18px 18px;color:color-mix(in srgb,var(--hb-fg) 14%,transparent)}
.hub[data-pattern="grid"] .hb-pat{background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-size:28px 28px;color:color-mix(in srgb,var(--hb-fg) 8%,transparent)}
.hub[data-pattern="waves"] .hb-pat{background:repeating-radial-gradient(circle at 50% 120%,transparent 0 22px,color-mix(in srgb,var(--hb-fg) 7%,transparent) 22px 24px)}
.hub[data-pattern="noise"] .hb-pat{background-image:var(--noise);mix-blend-mode:overlay;opacity:.5}
.hb-in{position:relative;max-width:460px;margin:0 auto;padding:calc(30 * var(--u)) calc(20 * var(--u)) calc(36 * var(--u));display:flex;flex-direction:column;gap:calc(16 * var(--u))}
.hub[data-align="left"] .hb-head{align-items:flex-start;text-align:left}
.hb-edit{position:absolute;top:12px;right:14px;border:0;border-radius:var(--r-pill);padding:calc(8 * var(--u)) calc(14 * var(--u));font:inherit;font-size:var(--fs-3);font-weight:var(--fw-b);cursor:pointer;background:var(--hb-ac);color:var(--hb-on);z-index:2}
.hb-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:calc(6 * var(--u))}
.hb-av{width:96px;height:96px;border-radius:50%;object-fit:cover;background:#C2FF73;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.hb-head h1{margin:calc(6 * var(--u)) 0 0!important;font-size:var(--fs-10)!important;letter-spacing:-.02em;color:var(--hb-fg)}
.body .hb-head p{margin:0;color:var(--hb-mut);max-width:34ch}.body .hb-head .hb-role{font-weight:var(--fw-m);color:var(--hb-fg);opacity:.8}
.hb-status{display:inline-flex;gap:calc(8 * var(--u));align-items:center;font-size:var(--fs-3);font-weight:var(--fw-b);padding:calc(5 * var(--u)) calc(12 * var(--u));border-radius:var(--r-pill);background:var(--hb-card);border:1px solid var(--hb-line)}.hb-status i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(61,190,122,.25)}
.hb-socs{display:flex;gap:calc(10 * var(--u));justify-content:center;flex-wrap:wrap}
.hb-soc{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--hb-card);color:var(--hb-fg);text-decoration:none;transition:transform var(--d-3) var(--ease-spring),background var(--d-2);box-shadow:0 1px 0 var(--hb-line)}.hb-soc svg{width:22px;height:22px}.hb-soc img{width:26px;height:26px;border-radius:7px;object-fit:cover}.hb-soc:hover{transform:translateY(-3px) scale(1.08);background:var(--hb-ac);color:var(--hb-on)}
.hb-list{display:flex;flex-direction:column;gap:calc(12 * var(--u))}
.hub[data-layout="grid"] .hb-list{display:grid;grid-template-columns:1fr 1fr;gap:calc(12 * var(--u))}.hub[data-layout="grid"] .hb-row:has(.hb-h),.hub[data-layout="grid"] .hb-row:has(.hb-emb),.hub[data-layout="grid"] .hb-row:has(.hb-sub),.hub[data-layout="grid"] .hb-row:has(.hb-hr),.hub[data-layout="grid"] .hb-row:has(.hb-p),.hub[data-layout="grid"] .hb-row:has(.hb-img),.hub[data-layout="grid"] .hb-row:has(.hb-feat){grid-column:1/-1}
.hub[data-layout="grid"] .hb-it:not(.hb-feat){flex-direction:column;text-align:center;padding:calc(16 * var(--u)) calc(10 * var(--u))}.hub[data-layout="grid"] .hb-it:not(.hb-feat) .hb-ar,.hub[data-layout="grid"] .hb-it:not(.hb-feat) small{display:none}
.hb-row.shut{display:none}.hb-row[data-dim]{position:relative}.hb-row[data-dim]::after{content:attr(data-dim);position:absolute;right:8px;top:-8px;font-size:var(--fs-1);font-weight:var(--fw-x);background:#F5A524;color:#2b1d00;border-radius:var(--r-pill);padding:2px calc(8 * var(--u))}
.hb-it{position:relative;display:flex;align-items:center;gap:calc(12 * var(--u));width:100%;padding:calc(12 * var(--u)) calc(16 * var(--u)) calc(12 * var(--u)) calc(12 * var(--u));border-radius:var(--hb-r);text-decoration:none;color:var(--hb-fg);font:inherit;text-align:left;cursor:pointer;border:1px solid transparent;transition:transform var(--d-3) var(--ease-spring),box-shadow var(--d-2),background var(--d-2);overflow:hidden}
.hub[data-fill="soft"] .hb-it{background:var(--hb-card);border-color:var(--hb-line)}
.hub[data-fill="solid"] .hb-it{background:var(--hb-ac);color:var(--hb-on)}.hub[data-fill="solid"] .hb-it small{color:inherit;opacity:.8}
.hub[data-fill="outline"] .hb-it{background:transparent;border:2px solid var(--hb-fg)}
.hub[data-fill="glass"] .hb-it{background:color-mix(in srgb,var(--hb-fg) 8%,transparent);backdrop-filter:blur(14px);border-color:var(--hb-line)}
.hub[data-fill="shadow"] .hb-it{background:var(--hb-card);border:2px solid var(--hb-fg);box-shadow:4px 4px 0 var(--hb-fg)}.hub[data-fill="shadow"] .hb-it:hover{box-shadow:6px 6px 0 var(--hb-fg)}
.hb-it:hover{transform:translateY(-2px)}.hb-it:active{transform:scale(.98)}
.hb-it.hb-feat{background:var(--hb-ac)!important;color:var(--hb-on)!important;border-color:transparent!important;padding:calc(16 * var(--u)) calc(18 * var(--u)) calc(16 * var(--u)) calc(14 * var(--u));box-shadow:0 10px 26px color-mix(in srgb,var(--hb-ac) 40%,transparent)}.hb-it.hb-feat small{color:inherit;opacity:.85}
.hb-it.hb-out{background:transparent!important;border:2px solid var(--hb-ac)!important;box-shadow:none}
.hb-ic{flex:none;width:42px;height:42px;border-radius:calc(var(--hb-r)*.7);display:grid;place-items:center;background:var(--ic,var(--c1));color:var(--glyph)}
.hb-th{flex:none;width:46px;height:46px;border-radius:calc(var(--hb-r)*.7);object-fit:cover}
.hb-t{flex:1;min-width:0;display:flex;flex-direction:column}.hb-t b{font-size:var(--fs-6);line-height:1.25}.hb-t small{font-size:var(--fs-3);color:var(--hb-mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hb-ar{flex:none;width:18px;height:18px;opacity:.6;transition:transform var(--d-2)}.hb-it:hover .hb-ar{transform:translateX(3px)}
.hb-badge{flex:none;font-style:normal;font-size:var(--fs-1);font-weight:var(--fw-x);background:var(--hb-fg);color:var(--hb-bg,#fff);border-radius:var(--r-pill);padding:calc(3 * var(--u)) calc(9 * var(--u));color:#fff;mix-blend-mode:normal}
.hb-h{margin:calc(8 * var(--u)) calc(4 * var(--u)) 0!important;font-size:var(--fs-3)!important;font-weight:var(--fw-x);text-transform:uppercase;letter-spacing:.09em;color:var(--hb-mut);display:flex;justify-content:space-between;align-items:center}.hb-h.hb-col{cursor:pointer}
.body .hb-p{margin:0;color:var(--hb-fg);font-size:var(--fs-5);line-height:1.6;text-align:center;max-width:none}
.hb-hr{border:0;border-top:1px solid var(--hb-line);margin:calc(4 * var(--u)) 0;width:100%}
.hb-img img{width:100%;border-radius:var(--hb-r);display:block}.hb-img{margin:0}
.hb-emb{position:relative;border-radius:var(--hb-r);overflow:hidden;background:#000;width:100%}.hb-emb iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hb-play{position:absolute;inset:0;border:0;padding:0;cursor:pointer;background:#000}.hb-play img{width:100%;height:100%;object-fit:cover;opacity:.9}.hb-play span{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px;border-radius:50%;background:rgba(255,255,255,.95);color:#111;display:grid;place-items:center;font-size:var(--fs-9);padding-left:calc(4 * var(--u));box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform var(--d-2)}.hb-play:hover span{transform:scale(1.1)}
.hb-cap{display:block;text-align:center;color:var(--hb-mut);margin-top:-4px}
.hb-sub{display:flex;flex-direction:column;gap:calc(8 * var(--u));padding:calc(16 * var(--u));border-radius:var(--hb-r);background:var(--hb-card);border:1px solid var(--hb-line)}.hb-sub small{color:var(--hb-mut)}.hb-sub div{display:flex;gap:calc(8 * var(--u))}.hb-sub input{flex:1;min-width:0;font:inherit;font-size:var(--fs-5);border:1px solid var(--hb-line);background:color-mix(in srgb,var(--hb-fg) 5%,transparent);color:var(--hb-fg);border-radius:calc(var(--hb-r)*.7);padding:calc(11 * var(--u)) calc(14 * var(--u));outline:none}.hb-sub input:focus{border-color:var(--hb-ac)}
.hb-sub .hp{position:absolute;left:-9999px;width:1px}.hb-sub button{border:0;border-radius:calc(var(--hb-r)*.7);padding:0 calc(18 * var(--u));font:inherit;font-weight:var(--fw-b);background:var(--hb-ac);color:var(--hb-on);cursor:pointer}.hb-msg{margin:0;min-height:1em;font-size:var(--fs-3);color:var(--hb-mut)}
.hb-cd .cdv{font-variant-numeric:tabular-nums}
.hb-foot{display:flex;gap:calc(10 * var(--u));justify-content:center;flex-wrap:wrap;margin-top:calc(6 * var(--u))}.hb-foot button,.hb-foot a{display:inline-flex;gap:calc(6 * var(--u));align-items:center;border:1px solid var(--hb-line);background:var(--hb-card);color:var(--hb-fg);border-radius:var(--r-pill);padding:calc(8 * var(--u)) calc(14 * var(--u));font:inherit;font-size:var(--fs-3);font-weight:var(--fw-m);cursor:pointer;text-decoration:none}
.hb-empty{text-align:center;color:var(--hb-mut)}
.an-pulse{animation:hbpulse 2s ease-in-out infinite}@keyframes hbpulse{50%{transform:scale(1.025);box-shadow:0 0 0 8px color-mix(in srgb,var(--hb-ac) 22%,transparent)}}
.an-wiggle{animation:hbwig 3.5s ease-in-out infinite}@keyframes hbwig{0%,88%,100%{transform:none}91%{transform:rotate(-1.5deg)}94%{transform:rotate(1.5deg)}97%{transform:rotate(-1deg)}}
.an-bounce{animation:hbbo 2.6s ease infinite}@keyframes hbbo{0%,80%,100%{transform:none}86%{transform:translateY(-6px)}92%{transform:translateY(0)}96%{transform:translateY(-2px)}}
.an-shine::after{content:"";position:absolute;top:0;bottom:0;width:60px;left:-80px;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);animation:hbshine 3.2s ease-in-out infinite}@keyframes hbshine{0%,60%{left:-80px}100%{left:120%}}
.hb-qr{align-items:center;text-align:center}.hb-qrimg{width:240px;max-width:100%;border-radius:var(--r-4);overflow:hidden;background:#fff}.hb-qrimg svg{width:100%;display:block}
@media (prefers-reduced-motion:reduce){.an-pulse,.an-wiggle,.an-bounce,.an-shine::after{animation:none}}
/* hub builder */
.hbe{height:100%}.hbe-tabs{flex:none;display:flex;gap:calc(6 * var(--u));padding:calc(8 * var(--u)) calc(24 * var(--u));overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line)}.hbe-tabs button{border:0;border-radius:var(--r-pill);padding:calc(8 * var(--u)) calc(14 * var(--u));font:inherit;font-size:var(--fs-4);font-weight:var(--fw-m);background:none;color:var(--ink2);cursor:pointer;white-space:nowrap}.hbe-tabs button.on{background:var(--c1);color:var(--ink)}
.hbe-cols{flex:1;min-height:0;display:flex}.hbe-main{flex:1;min-width:0;overflow:auto;padding:calc(12 * var(--u)) calc(24 * var(--u)) calc(40 * var(--u));scrollbar-width:thin}.hbe-pv{display:none;flex:none;width:360px;background:var(--surface2);border-left:1px solid var(--line);padding:calc(16 * var(--u));overflow:auto}
@media (min-width:980px){.hbe-pv{display:block}.hbe-pvb{display:none}}
.hbe-cols.showpv .hbe-main{display:none}.hbe-cols.showpv .hbe-pv{display:block;flex:1;width:auto}
.hbe-phone{width:min(328px,100%);margin:0 auto;border-radius:var(--r-9);border:8px solid #1E1E1E;overflow:hidden;box-shadow:var(--shadow);background:#000}.hbe-screen{height:600px;overflow:auto;zoom:.92}.hbe-screen .hub{min-height:100%}
.hbe-add{display:flex;gap:calc(12 * var(--u));align-items:center;margin-bottom:calc(10 * var(--u));flex-wrap:wrap}.hbe-add .btn{border:0;cursor:pointer}
.hbe-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:calc(8 * var(--u));margin-bottom:calc(12 * var(--u))}.hbe-types button{display:flex;flex-direction:column;align-items:center;gap:calc(6 * var(--u));border:1px solid var(--line);border-radius:var(--r-5);background:var(--surface);color:var(--ink);padding:calc(12 * var(--u)) calc(6 * var(--u));font:inherit;font-size:var(--fs-3);font-weight:var(--fw-m);cursor:pointer}.hbe-types button:hover{background:var(--surface2)}
.hbe-list{display:flex;flex-direction:column;gap:calc(8 * var(--u))}
.hbe-card{border:1px solid var(--line);border-radius:var(--r-6);background:var(--surface)}.hbe-card.off .hbe-sum b::after{content:"Hidden";margin-left:calc(6 * var(--u));font-size:var(--fs-1);font-weight:var(--fw-b);padding:2px calc(7 * var(--u));border-radius:var(--r-pill);background:var(--ink);color:var(--surface);vertical-align:middle}.hbe-card.drag{opacity:.35}
.hbe-ch{display:flex;align-items:center;gap:calc(8 * var(--u));padding:calc(8 * var(--u)) calc(10 * var(--u))}.hbe-grip{border:0;background:none;cursor:grab;color:var(--ink2);letter-spacing:-3px;font-size:var(--fs-4);width:26px;height:32px;touch-action:none;border-radius:var(--r-3)}.hbe-grip:hover{background:var(--surface2)}
.hbe-ti{flex:none;width:34px;height:34px;border-radius:var(--r-4);background:var(--surface2);display:grid;place-items:center;color:var(--ink)}
.hbe-sum{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column}.hbe-sum b{font-size:var(--fs-5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbe-sum small{color:var(--ink2);font-size:var(--fs-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hbe-eye,.hbe-x{border:0;background:none;width:34px;height:34px;border-radius:50%;cursor:pointer;color:var(--ink2);font-size:var(--fs-4)}.hbe-eye:hover,.hbe-x:hover{background:var(--surface2)}.hbe-x:hover{color:var(--danger)}
.hbe-cb{padding:0 calc(14 * var(--u)) calc(14 * var(--u));border-top:1px solid var(--line)}.hbe-cb .ow-f input:not([type=checkbox]),.hbe-cb .ow-f select,.hbe-cb .ow-f textarea,.hbe-main .ow-f input:not([type=checkbox]):not([type=color]),.hbe-main .ow-f select,.hbe-main .ow-f textarea{font:inherit;font-size:var(--fs-5);padding:calc(9 * var(--u)) calc(12 * var(--u));border-radius:var(--r-4);border:1px solid rgba(127,127,127,.4);background:transparent;color:inherit;width:100%}
.hbe-adv{margin-top:calc(10 * var(--u))}.hbe-adv summary{cursor:pointer;font-weight:var(--fw-b);font-size:var(--fs-4);padding:calc(6 * var(--u)) 0}
.hbe-icons{display:flex;flex-wrap:wrap;gap:calc(4 * var(--u))}.hbe-icons button{width:34px;height:34px;border:1px solid var(--line);border-radius:var(--r-4);background:var(--surface);color:var(--ink);cursor:pointer;display:grid;place-items:center}.hbe-icons button.on{background:var(--primary);color:var(--on-primary);border-color:transparent}
.hbe-imgrow{display:flex;gap:calc(8 * var(--u));align-items:center;flex-wrap:wrap}.hbe-imgrow img{width:64px;height:64px;border-radius:var(--r-4);object-fit:cover}.hbe-imgrow img.av{border-radius:50%}
.hbe-sws{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:calc(10 * var(--u));margin-bottom:calc(12 * var(--u))}.hbe-sw{position:relative;height:84px;border:3px solid transparent;border-radius:var(--r-6);cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:calc(8 * var(--u)) calc(10 * var(--u));gap:calc(4 * var(--u));font:inherit}.hbe-sw.on{border-color:var(--primary)}.hbe-sw span{width:34px;height:10px;border-radius:var(--r-pill)}.hbe-sw b{font-size:var(--fs-3)}
.hbe-clr span{display:flex;gap:calc(8 * var(--u));align-items:center}.hbe-clr input[type=color]{width:46px;height:36px;padding:2px;border-radius:var(--r-4);cursor:pointer}
.hbe-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:calc(10 * var(--u))}.hbe-kpis div{background:var(--surface2);border-radius:var(--r-6);padding:calc(14 * var(--u));display:flex;flex-direction:column}.hbe-kpis b{font-size:var(--fs-10);letter-spacing:-.02em}.hbe-kpis small{color:var(--ink2);font-weight:var(--fw-m)}
.hbe-chart{width:100%;height:150px;background:var(--surface2);border-radius:var(--r-5);margin-top:calc(4 * var(--u))}.dot{display:inline-block;width:9px;height:9px;border-radius:50%}
.hbe-bar{position:relative;display:flex;align-items:center;gap:calc(10 * var(--u));padding:calc(8 * var(--u)) calc(10 * var(--u));border-radius:var(--r-4);margin:calc(4 * var(--u)) 0;overflow:hidden;background:var(--surface2)}.hbe-bar i{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--primary) 22%,transparent);z-index:0}.hbe-bar span,.hbe-bar b{position:relative;z-index:1}.hbe-bar span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-4)}
.hbe-subs div{display:flex;justify-content:space-between;align-items:center;padding:calc(8 * var(--u)) 0;border-bottom:1px solid var(--line)}.hbe-subs small{display:block;color:var(--ink2)}
.hbe-drop{position:fixed;z-index:3300;height:3px;background:var(--primary);border-radius:var(--r-2);pointer-events:none;display:none}
.hbe .hint{font-size:var(--fs-3)}
/* notes */
.nts .notes .note{border:0;text-align:left;font:inherit;cursor:pointer;color:var(--glyph);transition:transform var(--d-2)}.nts .notes .note:hover{transform:translateY(-3px) rotate(0)}
.nts .note p{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.nt-sw{display:inline-flex;gap:calc(5 * var(--u));align-items:center;margin:0 calc(4 * var(--u))}.nt-sw .nt-c{width:22px;height:22px;padding:0;border-radius:50%;border:2px solid transparent;cursor:pointer}.nt-sw .nt-c.on{border-color:var(--ink)}
.jed-bar .ed-del{color:var(--danger)}
.nt-doc{margin-top:calc(14 * var(--u))}
/* top bar extras, search, notifications */
.tb-right{display:flex;gap:calc(8 * var(--u));align-items:center}
.topbtn.tb-ic{position:relative;width:38px;height:36px;padding:0;display:grid;place-items:center;border:0;color:var(--ink);cursor:pointer}
.tb-dot{position:absolute;top:6px;right:8px;width:9px;height:9px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 2px var(--surface)}
.spot-ov{position:fixed;inset:0;z-index:3400;background:rgba(20,20,20,.38);backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:flex-start;padding:12vh calc(12 * var(--u)) calc(12 * var(--u));animation:lbIn var(--d-2) ease}
.spot{width:min(640px,100%);max-height:min(560px,76vh);display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border-radius:var(--r-8);box-shadow:var(--shadow);overflow:hidden;animation:rtePop var(--d-2) ease-out;font-family:var(--font)}
.spot-bar{display:flex;gap:calc(12 * var(--u));align-items:center;padding:calc(14 * var(--u)) calc(18 * var(--u));border-bottom:1px solid var(--line)}.spot-bar>span{color:var(--ink2);display:grid}
.spot-in{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:var(--fs-7);color:var(--ink);-webkit-appearance:none}.spot-in::-webkit-search-cancel-button{display:none}
.spot-x{border:0;background:var(--surface2);color:var(--ink2);border-radius:var(--r-3);padding:calc(4 * var(--u)) calc(9 * var(--u));font:inherit;font-size:var(--fs-2);font-weight:var(--fw-b);cursor:pointer}
.spot-list{overflow:auto;padding:calc(6 * var(--u)) calc(8 * var(--u)) calc(8 * var(--u));flex:1;scrollbar-width:thin}
.spot-g{font-size:var(--fs-2);font-weight:var(--fw-x);text-transform:uppercase;letter-spacing:.08em;color:var(--ink2);padding:calc(10 * var(--u)) calc(12 * var(--u)) calc(4 * var(--u))}
.spot-it,.notif-i{display:flex;gap:calc(12 * var(--u));align-items:center;width:100%;border:0;background:none;color:var(--ink);font:inherit;text-align:left;padding:calc(9 * var(--u)) calc(12 * var(--u));border-radius:var(--r-5);cursor:pointer}
.spot-it.on,.notif-i:hover{background:var(--surface2)}
.spot-ic{flex:none;width:34px;height:34px;border-radius:var(--r-4);background:var(--surface2);display:grid;place-items:center;color:var(--ink)}.spot-it.on .spot-ic{background:var(--surface)}
.spot-t{display:flex;flex-direction:column;min-width:0}.spot-t b{font-size:var(--fs-5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spot-t small{font-size:var(--fs-3);color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spot-none{padding:calc(26 * var(--u));text-align:center;color:var(--ink2)}
.spot-foot{padding:calc(9 * var(--u)) calc(18 * var(--u));border-top:1px solid var(--line);font-size:var(--fs-2);color:var(--ink2)}
@media (max-width:760px){.spot-ov{padding:calc(env(safe-area-inset-top,0px) + 10px) 8px 8px}.spot{max-height:calc(100dvh - 24px);border-radius:var(--r-7)}.spot-foot{display:none}}
.notif{width:min(380px,calc(100% - 28px))}.notif-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(6 * var(--u));padding:0 calc(6 * var(--u))}.notif-clear{border:0;background:none;color:var(--primary);font:inherit;font-weight:var(--fw-b);font-size:var(--fs-3);cursor:pointer}
.notif-i{align-items:flex-start}.notif-i .spot-t small{white-space:normal}
.snap-prev{position:fixed;z-index:880;border-radius:var(--r-8);background:color-mix(in srgb,var(--primary) 16%,transparent);border:2px solid color-mix(in srgb,var(--primary) 60%,transparent);pointer-events:none;transition:all var(--d-1)}
.kbd dl{display:grid;grid-template-columns:auto 1fr;gap:calc(6 * var(--u)) calc(14 * var(--u));margin:calc(8 * var(--u)) 0;font-size:var(--fs-4)}.kbd dt{font-family:var(--mono);font-size:var(--fs-3);background:var(--surface2);border-radius:var(--r-3);padding:calc(3 * var(--u)) calc(8 * var(--u));white-space:nowrap}.kbd dd{margin:0;color:var(--ink2);align-self:center}.own-card.kbd{width:min(440px,92vw)}
/* widgets */
.wtime{display:flex;gap:calc(7 * var(--u));align-items:center;font-size:var(--fs-3)!important;font-weight:var(--fw-m);margin-top:calc(8 * var(--u))!important;color:var(--ink2)}.tdot{width:8px;height:8px;border-radius:50%;background:#B6B6B6}.tdot.on{background:var(--ok);box-shadow:0 0 0 3px rgba(61,190,122,.25)}
.wcard.tw{border:0;text-align:left;font:inherit;cursor:pointer;color:var(--ink);animation:rtePop var(--d-3) ease}.wcard.tw .tq{margin:0;font-size:var(--fs-4);line-height:1.45;font-weight:var(--fw-m)}.wcard.tw small{display:block;margin-top:calc(6 * var(--u));color:var(--ink2);font-weight:var(--fw-m)}
/* services and booking */
.sv .sv-lead{font-size:var(--fs-6);margin:0 0 calc(14 * var(--u))}.sv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:calc(12 * var(--u))}
.sv-card{background:var(--surface2);border-radius:var(--r-7);padding:calc(18 * var(--u));display:flex;flex-direction:column;gap:calc(6 * var(--u))}.sv-card h2{font-size:var(--fs-7);margin:0}.sv-card p{margin:0;font-size:var(--fs-5)}.sv-card ul{margin:calc(6 * var(--u)) 0 0;padding-left:calc(18 * var(--u));color:var(--ink2);font-size:var(--fs-4)}.sv-card li{margin:calc(3 * var(--u)) 0}
.sv-ic{width:42px;height:42px;border-radius:var(--r-5);background:var(--c1);display:grid;place-items:center;font-size:var(--fs-8);color:var(--glyph)}.sv-card:nth-child(2n) .sv-ic{background:var(--c2)}.sv-card:nth-child(3n) .sv-ic{background:var(--c3)}.sv-card:nth-child(4n) .sv-ic{background:var(--c4)}
.sv-price{margin-top:auto;padding-top:calc(8 * var(--u));font-size:var(--fs-5)}
.sv-h{font-size:var(--fs-8);margin:calc(26 * var(--u)) 0 calc(10 * var(--u))!important}
.sv-steps{list-style:none;margin:0;padding:0;display:grid;gap:calc(10 * var(--u))}.sv-steps li{display:flex;gap:calc(14 * var(--u));align-items:flex-start}.sv-steps span{flex:none;width:34px;height:34px;border-radius:50%;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;font-weight:var(--fw-x)}.sv-steps p{margin:2px 0 0;font-size:var(--fs-5)}
.sv-tt{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:calc(12 * var(--u))}.sv-tt figure{margin:0;background:var(--surface2);border-radius:var(--r-7);padding:calc(16 * var(--u))}.sv-tt blockquote{margin:0 0 calc(8 * var(--u));font-weight:var(--fw-m);line-height:1.45}.sv-tt small{display:block;color:var(--ink2)}
.sv-faq details{border-bottom:1px solid var(--line);padding:calc(12 * var(--u)) 0}.sv-faq summary{cursor:pointer;font-weight:var(--fw-b)}.sv-faq p{margin:calc(8 * var(--u)) 0 0;font-size:var(--fs-5)}
.bk{display:flex;flex-direction:column;height:100%;width:100%;min-width:0;overflow:hidden}.bk-top{padding:calc(6 * var(--u)) calc(24 * var(--u)) calc(8 * var(--u))}.bk-top p{margin:0}.bk-frame{flex:1;min-height:360px;margin:0 calc(12 * var(--u));width:auto;max-width:calc(100% - 24px);box-sizing:border-box;border-radius:var(--r-6);overflow:hidden;background:#fff}.bk-frame iframe{width:100%;height:100%;border:0;display:block}.bk-foot{display:flex;gap:calc(8 * var(--u));flex-wrap:wrap;padding:calc(12 * var(--u)) calc(24 * var(--u)) calc(16 * var(--u))}
.set-extra{margin-top:calc(8 * var(--u))}
@media print{#desk,#boot,.topbar,.spot-ov,#toast,.rte-ui{display:none!important}body{overflow:visible!important;height:auto!important;background:#fff!important}html{height:auto!important}#seo{position:static!important;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;white-space:normal!important;overflow:visible!important;color:#000;font:12pt/1.55 Georgia,serif;max-width:none;padding:0}#seo img{max-width:100%}#seo a{color:#000;text-decoration:underline}#seo nav{display:none}}
#print-one{display:none}
@media print{body.print-one>*:not(#print-one){display:none!important}body.print-one #print-one{display:block!important;position:static;color:#000;font:12pt/1.55 Georgia,serif;padding:0}body.print-one #print-one .chip{border:1px solid #999;border-radius:var(--r-pill);padding:2px calc(10 * var(--u));margin:2px;display:inline-block}body.print-one #print-one .row{display:flex;justify-content:space-between;gap:calc(16 * var(--u));border-bottom:1px solid #ccc;padding:calc(8 * var(--u)) 0}}

@media (max-width:760px){
  .ownpill{font-size:0!important;padding:0 calc(12 * var(--u))!important;gap:0}.ownpill i{margin:0}
  .tb-right{gap:calc(6 * var(--u))}
}
@media (max-width:520px){
  .jed-bar{gap:calc(6 * var(--u));padding:calc(8 * var(--u)) calc(14 * var(--u)) calc(10 * var(--u))}.jed-bar button{padding:calc(8 * var(--u)) calc(12 * var(--u));font-size:var(--fs-3)}.jed-st{display:none}.jed-scroll{padding:0 calc(14 * var(--u))}.hbe-tabs{padding:calc(8 * var(--u)) calc(14 * var(--u))}.hbe-main{padding:calc(12 * var(--u)) calc(14 * var(--u)) calc(40 * var(--u))}
  .jed-title{font-size:var(--fs-10)}
  .jed-side{width:100%;top:53px}
}

.spot-ic.app{background:none;width:38px;height:38px}.spot-ic.app .ico{width:38px;height:38px}
@media (max-width:760px){#stBtn svg{display:none}.topbar .pill{padding:calc(6 * var(--u)) calc(12 * var(--u))}}

/* notification panel: no layout jump, soft enter/exit */
.notif{animation:ntIn var(--d-2) var(--ease);transform-origin:top right;will-change:transform,opacity}
.notif.closing{animation:ntOut var(--d-2) ease-in forwards;pointer-events:none}
@keyframes ntIn{from{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:none}}
@keyframes ntOut{to{opacity:0;transform:translateY(-6px) scale(.97)}}
.notif-row{display:flex;align-items:flex-start;gap:2px;overflow:hidden;max-height:120px;transition:max-height var(--d-2) ease,opacity var(--d-2),transform var(--d-2)}
.notif-row .notif-i{flex:1;min-width:0}
.notif-row.gone{max-height:0;opacity:0;transform:translateX(30px)}
.notif-x{flex:none;width:32px;height:32px;margin-top:calc(8 * var(--u));border:0;border-radius:50%;background:none;color:var(--ink2);font-size:var(--fs-3);cursor:pointer;opacity:.55;transition:background var(--d-2),opacity var(--d-2)}
.notif-x:hover,.notif-x:focus-visible{background:var(--surface2);opacity:1}
.notif-empty{padding:calc(22 * var(--u)) calc(6 * var(--u));text-align:center}
@media (max-width:760px){.notif{left:10px;right:10px;width:auto;top:56px;max-height:calc(100% - 120px)}.notif-x{opacity:.8}}
@media (prefers-reduced-motion:reduce){.notif,.notif.closing{animation:none}}
.kbd{max-height:min(82vh,720px);overflow:auto;width:min(560px,calc(100vw - 24px))}
.kbd h4{margin:calc(16 * var(--u)) 0 2px;font-size:var(--fs-2);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.kbd dl{margin:calc(4 * var(--u)) 0}

/* ===== Notes (Keep / Apple Notes style) ===== */
.win[data-app="notes"] .body.kn-body{padding:0;overflow:hidden;display:flex;flex-direction:column}
.kn{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;background:var(--surface);color:var(--ink)}
.kn-top{flex:none;display:flex;align-items:center;gap:calc(8 * var(--u));padding:calc(12 * var(--u)) calc(14 * var(--u)) calc(6 * var(--u))}
.kn-search{flex:1;display:flex;align-items:center;gap:calc(8 * var(--u));padding:calc(10 * var(--u)) calc(16 * var(--u));border-radius:var(--r-pill);background:var(--surface2);color:var(--ink2);transition:box-shadow var(--d-2)}
.kn-search:focus-within{box-shadow:0 0 0 2px var(--primary)}
.kn-search input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:var(--fs-5);color:var(--ink)}
.kn-ib{flex:none;width:40px;height:40px;border:0;border-radius:50%;background:none;color:var(--ink);font-size:var(--fs-7);cursor:pointer;transition:background var(--d-2)}
.kn-ib:hover{background:var(--surface2)}
.kn-st{font-size:var(--fs-3);color:var(--ink2);white-space:nowrap}
.kn-nav{flex:none;display:flex;gap:calc(6 * var(--u));overflow-x:auto;padding:calc(4 * var(--u)) calc(14 * var(--u)) calc(8 * var(--u));scrollbar-width:none}.kn-nav::-webkit-scrollbar{display:none}
.kn-nav button{flex:none;border:1px solid var(--line);background:none;color:var(--ink);font:inherit;font-size:var(--fs-4);font-weight:var(--fw-m);padding:calc(6 * var(--u)) calc(14 * var(--u));border-radius:var(--r-pill);cursor:pointer;display:flex;gap:calc(6 * var(--u));align-items:center;transition:background var(--d-2)}
.kn-nav button:hover{background:var(--surface2)}.kn-nav button.on{background:var(--primary);border-color:transparent;color:var(--on-primary)}.kn-nav i{font-style:normal;font-size:var(--fs-2);opacity:.75}
.kn-scroll{flex:1;min-height:0;overflow:auto;padding:calc(4 * var(--u)) calc(14 * var(--u)) calc(90 * var(--u));overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.kn-compose{max-width:560px;margin:calc(6 * var(--u)) auto calc(20 * var(--u))}
.kn-compose-bar{display:flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);padding:calc(4 * var(--u)) calc(8 * var(--u)) calc(4 * var(--u)) calc(6 * var(--u));box-shadow:0 1px 4px rgba(0,0,0,.08)}
.kn-take{flex:1;text-align:left;border:0;background:none;font:inherit;font-size:var(--fs-5);color:var(--ink2);padding:calc(10 * var(--u)) calc(14 * var(--u));cursor:text}
.kn-compose-card,.kn-edit{position:relative;border:1px solid var(--line);border-radius:var(--r-7);box-shadow:0 4px 22px rgba(0,0,0,.14);overflow:hidden;background:var(--surface)}
.kn-compose-card .kn-ti,.kn-ebody .kn-ti{display:block;width:100%;border:0;outline:0;background:none;font:inherit;font-size:var(--fs-7);font-weight:var(--fw-b);color:var(--ink);padding:calc(14 * var(--u)) calc(16 * var(--u)) calc(4 * var(--u))}
.kn-ta{display:block;width:100%;border:0;outline:0;background:none;resize:none;font:inherit;font-size:var(--fs-5);line-height:1.5;color:var(--ink);padding:calc(8 * var(--u)) calc(16 * var(--u)) calc(12 * var(--u));min-height:60px}
.kn-bar{display:flex;align-items:center;gap:2px;padding:calc(6 * var(--u)) calc(8 * var(--u)) calc(8 * var(--u));flex-wrap:wrap}
.kn-bar button{border:0;background:none;color:var(--ink);font:inherit;font-size:var(--fs-6);min-width:38px;height:38px;border-radius:50%;cursor:pointer;opacity:.75;transition:background var(--d-2),opacity var(--d-2)}
.kn-bar button:hover,.kn-bar button.on{background:rgba(0,0,0,.08);opacity:1}
.kn-bar .sp{flex:1}.kn-bar .kn-done{width:auto;padding:0 calc(16 * var(--u));border-radius:var(--r-pill);font-size:var(--fs-4);font-weight:var(--fw-b);opacity:1}.kn-when{font-size:var(--fs-2);color:var(--ink2);padding:0 calc(8 * var(--u))}
.kn-grid{columns:220px;column-gap:calc(12 * var(--u))}
.kn-hint{color:var(--ink2);font-size:var(--fs-4);text-align:center;margin:calc(6 * var(--u)) 0 calc(14 * var(--u))}.kn-link{border:0;background:none;font:inherit;font-weight:var(--fw-b);cursor:pointer;padding:0 calc(4 * var(--u));text-decoration:underline}
.kn-h{margin:calc(16 * var(--u)) calc(4 * var(--u)) calc(8 * var(--u));font-size:var(--fs-2);letter-spacing:.09em;text-transform:uppercase;color:var(--ink2)}
.kn[data-view="list"] .kn-grid{columns:1;max-width:620px;margin:0 auto}
.kn-card{position:relative;display:block;break-inside:avoid;margin:0 0 calc(12 * var(--u));border:1px solid var(--line);border-radius:var(--r-6);overflow:hidden;background:var(--surface);cursor:pointer;transition:box-shadow var(--d-2),transform var(--d-2);outline:0}
.kn-card:hover,.kn-card:focus-visible{box-shadow:0 6px 20px rgba(0,0,0,.16);transform:translateY(-1px)}
.kn-card:focus-visible{box-shadow:0 0 0 2px var(--primary)}
.kn-in{padding:calc(14 * var(--u)) calc(16 * var(--u)) calc(12 * var(--u))}.kn-card h3{margin:0 0 calc(6 * var(--u));font-size:var(--fs-6);line-height:1.3;color:var(--ink);overflow-wrap:anywhere}
.kn-tx{margin:0;font-size:var(--fs-4);line-height:1.5;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:10;-webkit-box-orient:vertical;overflow:hidden}.kn-tx.full{display:block;-webkit-line-clamp:unset;font-size:var(--fs-6)}
.kn-img{display:block;width:100%;max-height:260px;object-fit:cover}
.kn-li{list-style:none;margin:0;padding:0;font-size:var(--fs-4)}.kn-li li{display:flex;gap:calc(9 * var(--u));align-items:flex-start;padding:calc(3 * var(--u)) 0;overflow-wrap:anywhere}.kn-li li.more{color:var(--ink2);font-size:var(--fs-3);padding-left:2px}.kn-li li.d span:last-child{text-decoration:line-through;opacity:.6}
.kn-cb{flex:none;width:18px;height:18px;margin-top:2px;border:2px solid var(--ink2);border-radius:var(--r-2);background:none;padding:0;cursor:pointer;position:relative}
.kn-cb.on{background:var(--primary);border-color:var(--primary)}.kn-cb.on::after{content:"";position:absolute;left:4px;top:0;width:5px;height:10px;border:solid var(--on-primary);border-width:0 2px 2px 0;transform:rotate(45deg)}
.kn-lb{display:flex;flex-wrap:wrap;gap:calc(5 * var(--u));margin-top:calc(10 * var(--u))}.kn-lb span,.kn-chip{font-size:var(--fs-2);padding:calc(3 * var(--u)) calc(9 * var(--u));border-radius:var(--r-pill);background:rgba(0,0,0,.08)}
.kn-chip{display:inline-flex;align-items:center;gap:calc(4 * var(--u));margin:0 calc(6 * var(--u)) calc(6 * var(--u)) 0}.kn-chip button{border:0;background:none;color:inherit;cursor:pointer;font-size:var(--fs-1);padding:0 0 0 2px}
.kn-pin,.kn-priv{position:absolute;top:8px;right:10px;font-size:var(--fs-3);opacity:.7;pointer-events:none}.kn-priv{right:30px}
.kn-act{position:absolute;left:0;right:0;bottom:0;display:flex;gap:2px;justify-content:flex-end;padding:calc(4 * var(--u)) calc(6 * var(--u));background:linear-gradient(transparent,rgba(0,0,0,.07));opacity:0;transition:opacity var(--d-2)}
.kn-card:hover .kn-act,.kn-card:focus-within .kn-act,.kn-act.on{opacity:1}
.kn-act button{border:0;background:rgba(255,255,255,.75);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:var(--fs-4)}.kn-act.on button{width:auto;padding:0 calc(12 * var(--u));font:inherit;font-size:var(--fs-3);font-weight:var(--fw-m);color:#222}.kn-act button.danger{color:#C5221F}
@media (hover:none){.kn-act{opacity:1;background:none}}
.kn-empty{text-align:center;color:var(--ink2);padding:calc(60 * var(--u)) calc(10 * var(--u))}.kn-empty div{font-size:var(--fs-13);opacity:.5}
.kn-pop{position:absolute;z-index:30;bottom:46px;left:8px;display:flex;gap:calc(6 * var(--u));padding:calc(8 * var(--u)) calc(10 * var(--u));background:var(--surface);border-radius:var(--r-pill);box-shadow:0 8px 28px rgba(0,0,0,.25);animation:ntIn var(--d-1) ease-out}
.kn-card .kn-pop{bottom:44px}
.kn-sw{width:28px;height:28px;border-radius:50%;border:2px solid var(--line);cursor:pointer;padding:0}.kn-sw.on{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}
.kn-sw.c0{background:var(--surface)}
.kn-card.c0,.kn-edit.c0,.kn-compose-card.c0{background:var(--surface)}
.kn-card.c1,.kn-edit.c1,.kn-compose-card.c1,.kn-sw.c1{background:var(--c1)}.kn-card.c2,.kn-edit.c2,.kn-compose-card.c2,.kn-sw.c2{background:var(--c2)}
.kn-card.c3,.kn-edit.c3,.kn-compose-card.c3,.kn-sw.c3{background:var(--c3)}.kn-card.c4,.kn-edit.c4,.kn-compose-card.c4,.kn-sw.c4{background:var(--c4)}
.kn-card.c5,.kn-edit.c5,.kn-compose-card.c5,.kn-sw.c5{background:var(--c5)}.kn-card.c6,.kn-edit.c6,.kn-compose-card.c6,.kn-sw.c6{background:var(--c6)}
.kn-modal-host{position:absolute;inset:0;pointer-events:none}
.kn-scrim{position:absolute;inset:0;background:rgba(0,0,0,.4);display:grid;place-items:center;padding:calc(16 * var(--u));pointer-events:auto;animation:fade var(--d-2)}
.kn-edit{width:min(600px,100%);max-height:100%;display:flex;flex-direction:column;animation:ntIn var(--d-2) var(--ease)}
.kn-ebody{flex:1;min-height:0;overflow:auto;padding-bottom:calc(4 * var(--u))}.kn-ebody h2{margin:0;padding:calc(16 * var(--u)) calc(16 * var(--u)) calc(4 * var(--u));font-size:var(--fs-8)}
.kn-content{padding:calc(4 * var(--u)) calc(16 * var(--u)) calc(8 * var(--u))}.kn-edit .kn-ta{padding:calc(8 * var(--u)) 0;min-height:140px}.kn-lbl{padding:0 calc(16 * var(--u)) calc(8 * var(--u))}
.kn-eimg{position:relative}.kn-eimg img{display:block;width:100%;max-height:300px;object-fit:cover}.kn-eimg button{position:absolute;top:8px;right:8px;width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.85);cursor:pointer}
.kn-newlbl input{width:100%;border:1px solid var(--line);border-radius:var(--r-pill);padding:calc(7 * var(--u)) calc(14 * var(--u));font:inherit;font-size:var(--fs-4);background:var(--surface);color:var(--ink)}
.kn-row{display:flex;align-items:flex-start;gap:calc(8 * var(--u));padding:2px 0}.kn-row textarea{flex:1;min-width:0;border:0;outline:0;background:none;resize:none;font:inherit;font-size:var(--fs-5);line-height:1.45;color:var(--ink);padding:2px 0;overflow:hidden}
.kn-row.d textarea{text-decoration:line-through;opacity:.55}.kn-grip{width:10px;color:var(--ink2);opacity:0;font-size:var(--fs-2);margin-top:calc(4 * var(--u))}.kn-row:hover .kn-grip{opacity:.5}.kn-row .kn-cb{margin-top:calc(5 * var(--u))}
.kn-rm{border:0;background:none;color:var(--ink2);cursor:pointer;width:28px;height:28px;border-radius:50%;opacity:0}.kn-row:hover .kn-rm,.kn-row:focus-within .kn-rm{opacity:1}@media (hover:none){.kn-rm{opacity:.7}}
.kn-addrow{border:0;background:none;color:var(--ink2);font:inherit;font-size:var(--fs-4);padding:calc(8 * var(--u)) 2px;cursor:pointer}.kn-doneblk{margin-top:calc(6 * var(--u))}.kn-doneblk summary{cursor:pointer;color:var(--ink2);font-size:var(--fs-3);padding:calc(4 * var(--u)) 0}
.kn-compose-card .kn-items{padding:2px calc(16 * var(--u)) calc(4 * var(--u))}
@media (max-width:760px){
  .kn-scrim{padding:0;align-items:end;place-items:end stretch}.kn-edit{width:100%;max-height:92%;border-radius:var(--r-8) var(--r-8) 0 0;animation:sheetUp var(--d-2) var(--ease)}
  .kn-grid{columns:2;column-gap:calc(10 * var(--u))}.kn[data-view="list"] .kn-grid{columns:1}.kn-scroll{padding:calc(4 * var(--u)) calc(12 * var(--u)) calc(100 * var(--u))}.kn-card{margin-bottom:calc(10 * var(--u))}
  .kn-compose{margin-bottom:calc(14 * var(--u))}.kn-edit .kn-ta{min-height:180px}.kn-bar button{min-width:40px;height:40px}
}
@keyframes sheetUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.kn-edit,.kn-scrim,.kn-pop{animation:none}}
.kn-card:not(.c0),.kn-edit:not(.c0),.kn-compose-card:not(.c0){--ink:var(--glyph);--ink2:color-mix(in srgb,var(--glyph) 68%,transparent);--line:rgba(0,0,0,.1);color:var(--glyph)}
.kn-edit:not(.c0) .kn-ta,.kn-edit:not(.c0) .kn-ti,.kn-compose-card:not(.c0) .kn-ta,.kn-compose-card:not(.c0) .kn-ti,.kn-edit:not(.c0) .kn-row textarea{color:var(--glyph)}
.kbd dl{grid-template-columns:200px 1fr;align-items:start}.kbd dt{align-self:start;white-space:normal}
@media (max-width:560px){.kbd dl{grid-template-columns:1fr}.kbd dd{margin:0 0 calc(6 * var(--u)) calc(4 * var(--u))}}
.kn-card:has(.kn-act) .kn-in{padding-bottom:calc(42 * var(--u))}

/* picture fields in the owner forms, and pictures shown in pages */
.ow-img>span{font-weight:var(--fw-m)}.ow-imgrow{display:flex;gap:calc(8 * var(--u));align-items:center;flex-wrap:wrap}
.ow-thumb{flex:none;width:72px;height:72px;border-radius:var(--r-5);background:var(--surface2);display:grid;place-items:center;color:var(--ink2);overflow:hidden}
.ow-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ow-imgrow .btn{min-height:38px;padding:0 calc(16 * var(--u));font-size:var(--fs-4)}
.rs-logo{flex:none;width:44px;height:44px;border-radius:var(--r-4);object-fit:cover;margin-right:calc(12 * var(--u));background:var(--surface2)}
.row:has(.rs-logo){display:flex;align-items:flex-start}.row:has(.rs-logo)>div{flex:1}
.tl-img{display:block;width:100%;max-height:200px;object-fit:cover;border-radius:var(--r-5);margin:calc(8 * var(--u)) 0}
.sv-img{display:block;width:100%;height:150px;object-fit:cover;border-radius:var(--r-6);margin-bottom:calc(12 * var(--u))}
.sv-steps .sv-simg{width:100%;max-height:140px;object-fit:cover;border-radius:var(--r-5);margin-top:calc(8 * var(--u))}
.sv-av{width:36px;height:36px;border-radius:50%;object-fit:cover;margin-right:calc(10 * var(--u));vertical-align:middle}

/* search overlay: the field is bare inside its bar (no outline, no focus ring of its own) in every UI */
.spot-in,.spot-in:focus,.spot-in:focus-visible{box-shadow:none!important;background:none!important;border:0!important;outline:0!important;padding:0!important;border-radius:0}

.ow-img.round .ow-thumb{border-radius:50%}

.ow-places{display:flex;flex-direction:column;gap:calc(6 * var(--u))}.ow-pl{display:flex;align-items:center;justify-content:space-between;gap:calc(12 * var(--u));padding:calc(6 * var(--u)) calc(8 * var(--u)) calc(6 * var(--u)) calc(10 * var(--u));border-radius:var(--r-5);background:var(--surface2)}
.ow-pln{display:flex;align-items:center;gap:calc(10 * var(--u));min-width:0}.ow-pln .ico{width:30px;height:30px;flex:none}.ow-pln b{font-weight:var(--fw-m);font-size:var(--fs-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ow-pl .seg{flex:none;background:var(--surface)}.ow-pl .seg button{padding:calc(6 * var(--u)) calc(12 * var(--u));font-size:var(--fs-3)}

/* Links: card and icon looks, logo picker */
.hb-icons{display:flex;flex-wrap:wrap;gap:calc(10 * var(--u));justify-content:center}
.hub[data-align="left"] .hb-icons{justify-content:flex-start}
.hb-it.hb-ico{width:calc(56 * var(--u));height:calc(56 * var(--u));padding:0;justify-content:center;border-radius:calc(var(--hb-r) * .9);flex:none}
.hb-ico svg{width:26px;height:26px}.hb-ci{object-fit:cover;border-radius:6px}
.hb-it.hb-card{flex-direction:column;align-items:stretch;gap:0;padding:0;text-align:left}
.hb-cimg{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.hb-cph{display:grid;place-items:center;aspect-ratio:16/9;background:color-mix(in srgb,var(--hb-fg) 8%,transparent)}
.hb-cap2{display:flex;flex-direction:column;gap:2px;padding:calc(12 * var(--u)) calc(16 * var(--u)) calc(14 * var(--u))}.hb-cap2 b{font-size:var(--fs-6);line-height:1.25}.hb-cap2 small{opacity:.7;font-size:var(--fs-3)}
.hub[data-layout="grid"] .hb-icons{grid-column:1/-1}
.hbe-icopick{display:flex;flex-direction:column;gap:calc(8 * var(--u))}.hbe-bs{width:100%}
.hbe-brands{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:calc(4 * var(--u));max-height:152px;overflow:auto;padding:2px}
.hbe-brands button{height:38px;border:0;border-radius:var(--r-4);background:var(--surface2);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background var(--d-1)}.hbe-brands button:hover{background:var(--surface3)}.hbe-brands button.on{background:var(--primary);color:var(--on-primary)}.hbe-brands button[hidden]{display:none}
.hbe-look{align-self:flex-start}.hbe-more{border:0;background:none;color:var(--ink2);font:inherit;font-size:var(--fs-4);cursor:pointer;padding:calc(8 * var(--u)) calc(10 * var(--u));border-radius:var(--r-pill)}.hbe-more:hover{background:var(--tint,rgba(127,127,127,.12));color:var(--ink)}
.hbe-icons button{border:0!important;background:var(--surface2)!important}.hbe-icons button.on{background:var(--primary)!important;color:var(--on-primary)}
.hbe-add{display:flex;align-items:center;gap:calc(8 * var(--u));flex-wrap:wrap}.hbe-add .hint{margin:0}

/* Resume as a document */
.rs-bar{position:sticky;top:-12px;z-index:5;display:flex;align-items:center;gap:calc(8 * var(--u));padding:calc(10 * var(--u)) 0;margin:calc(-12 * var(--u)) 0 calc(6 * var(--u));background:var(--surface);box-shadow:0 -20px 0 var(--surface)}
.rs-ed{padding-bottom:calc(140 * var(--u))}.rs-doc h1{margin-top:0}
.rs-page .row{align-items:flex-start}

/* ===== YouTube ===== */
.yt{display:flex;flex-direction:column;gap:calc(14 * var(--u))}
.yt-head{display:flex;align-items:center;gap:calc(12 * var(--u));flex-wrap:wrap}
.yt-logo{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--r-6);background:var(--surface2);flex:none}
.yt-t{flex:1;min-width:160px}.yt-t h1{margin:0}.yt-t p{margin:2px 0 0;color:var(--ink2)}
.yt-ch{display:inline-flex;align-items:center;gap:8px}
.yt-add{display:flex;gap:calc(8 * var(--u))}.yt-add input{flex:1;min-width:0}.yt-add .btn{display:inline-flex;align-items:center;gap:6px;flex:none}
.yt-st{margin:-6px 0 0;min-height:1.2em}
.yt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:calc(16 * var(--u))}
.yt-card{display:flex;flex-direction:column;gap:calc(8 * var(--u));min-width:0}
.yt-th{position:relative;display:block;aspect-ratio:16/9;border-radius:var(--r-5);overflow:hidden;background:var(--surface2);box-shadow:0 1px 2px rgba(0,0,0,.08);transition:transform var(--d-2) var(--ease)}
.yt-th img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--d-3) var(--ease)}
.yt-th:hover img{transform:scale(1.05)}.yt-th:active{transform:scale(.985)}
.yt-play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:linear-gradient(transparent 55%,rgba(0,0,0,.35));opacity:.92}
.yt-play svg{width:46px;height:46px;padding:12px;box-sizing:border-box;border-radius:50%;background:#FF0000;box-shadow:0 4px 16px rgba(0,0,0,.35);transition:transform var(--d-2) var(--ease-spring)}.yt-th:hover .yt-play svg{transform:scale(1.12)}
.yt-m{display:flex;flex-direction:column;gap:2px;min-width:0}.yt-m b{font-size:var(--fs-4);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.yt-m small{color:var(--ink2);font-size:var(--fs-3)}.yt-m p{margin:4px 0 0;color:var(--ink2);font-size:var(--fs-3);line-height:1.45}
.yt-act{display:flex;align-items:center;gap:calc(4 * var(--u));margin-top:auto}
.yt-act button{display:inline-flex;align-items:center;gap:6px;border:0;background:var(--surface2);color:var(--ink);font:inherit;font-size:var(--fs-3);font-weight:var(--fw-m);padding:calc(6 * var(--u)) calc(11 * var(--u));border-radius:var(--r-pill);cursor:pointer;transition:background var(--d-1)}
.yt-act button:hover{background:var(--surface3)}.yt-act button:disabled{opacity:.35;pointer-events:none}
.yt-own{display:flex;gap:2px;margin-left:auto}.yt-own button{padding:calc(6 * var(--u));background:none}.yt-own button:hover{background:var(--surface2)}.yt-own .danger{color:var(--danger)}
.yt-ed{display:flex;flex-direction:column;gap:calc(6 * var(--u))}.yt-ed input{width:100%;box-sizing:border-box}.yt-row{display:flex;gap:calc(6 * var(--u))}
.yt-empty{display:flex;flex-direction:column;align-items:center;gap:calc(6 * var(--u));text-align:center;padding:calc(36 * var(--u)) calc(16 * var(--u));color:var(--ink2)}.yt-empty b{color:var(--ink);font-size:var(--fs-7)}.yt-empty p{margin:0;max-width:34ch}
.yt-pl{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:calc(14 * var(--u));background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:selin var(--d-2) var(--ease)}
.yt-pl-card{width:min(720px,100%);background:var(--surface);border-radius:var(--r-6);overflow:hidden;box-shadow:var(--shadow)}
.yt-pl-bar{display:flex;align-items:center;gap:calc(10 * var(--u));padding:calc(10 * var(--u)) calc(12 * var(--u))}.yt-pl-bar b{flex:1;min-width:0;font-size:var(--fs-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.yt-pl-yt{display:inline-flex;align-items:center;gap:6px;color:var(--ink2);font-size:var(--fs-3);font-weight:var(--fw-m);text-decoration:none}.yt-pl-x{border:0;background:var(--surface2);width:32px;height:32px;border-radius:50%;cursor:pointer;color:var(--ink);display:grid;place-items:center}
.yt-pl-fr{aspect-ratio:16/9;background:#000}.yt-pl-fr iframe{width:100%;height:100%;border:0;display:block}
@media (pointer:coarse){.yt-own button{padding:calc(9 * var(--u))}}
.yt-add input,.yt-ed input{font:inherit;font-size:var(--fs-5);background:var(--surface2);border:0;border-radius:var(--r-pill);padding:calc(11 * var(--u)) calc(18 * var(--u));color:var(--ink);outline:0}
.yt-ed input{border-radius:var(--r-4);padding:calc(9 * var(--u)) calc(12 * var(--u));font-size:var(--fs-4)}
.yt-add input:focus,.yt-ed input:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 70%,transparent)}
.yt-st{background:none!important;padding:0!important}.yt-st:empty{display:none}

/* Settings > Website (owner): search and share previews, and a live check of what the server sends */
.ws{display:flex;flex-direction:column;gap:calc(10 * var(--u));margin:calc(4 * var(--u)) 0 calc(18 * var(--u))}
.ws>h3{margin-bottom:0}.ws .hint{margin:0}
.ws .ae-l{position:relative}
.ws-n{position:absolute;right:2px;top:0;font-size:12px;font-weight:var(--fw-r,400);color:var(--ink2);font-variant-numeric:tabular-nums}.ws-n.over{color:#D93025}
.ws-prev{display:grid;gap:calc(10 * var(--u))}
.ws-g{padding:14px 16px;border-radius:var(--r-5);background:var(--surface2);display:flex;flex-direction:column;gap:3px;min-width:0}
.ws-g small{font-size:12px;color:var(--ink2)}
.ws-gt{font-size:17px;font-weight:500;line-height:1.3;color:#1A0DAB;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root[data-theme="dark"] .ws-gt{color:#8AB4F8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ws-gt{color:#8AB4F8}}
.ws-gd{margin:0;font-size:13px;line-height:1.45;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ws-card{border-radius:var(--r-5);overflow:hidden;background:var(--surface2);display:flex;flex-direction:column}
.ws-ci{aspect-ratio:1200/630;background:var(--line)}.ws-ci img{width:100%;height:100%;object-fit:cover;display:block}
.ws-cb{padding:10px 14px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.ws-cb small{font-size:11.5px;color:var(--ink2);text-transform:uppercase;letter-spacing:.03em}
.ws-ct{font-size:14.5px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ws-cd{margin:0;font-size:12.5px;line-height:1.4;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ws-imgrow{display:flex;gap:calc(10 * var(--u));align-items:center;flex-wrap:wrap}
.ws-thumb{flex:none;width:122px;aspect-ratio:1200/630;border-radius:var(--r-4);overflow:hidden;background:var(--surface2)}.ws-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ws-ib{display:flex;gap:calc(6 * var(--u));flex-wrap:wrap}.ws-ib .btn{min-height:38px;padding:0 calc(16 * var(--u));font-size:var(--fs-4)}
.ws-own{border-radius:var(--r-5);background:var(--surface2);padding:10px 14px}
.ws-own summary{cursor:pointer;font-weight:var(--fw-m);padding:4px 0}
.ws-own[open]{display:flex;flex-direction:column;gap:calc(10 * var(--u))}
.ws-own .ae-l input{background:var(--surface)}
.ws-chk{display:flex;gap:calc(8 * var(--u));align-items:center}
.ws-path{flex:1;min-width:0;font:inherit;color:var(--ink);background:var(--surface2);border:0;border-radius:var(--r-4);padding:10px 12px}
.ws-chk .btn{min-height:40px;padding:0 calc(16 * var(--u))}
.ws-res{display:flex;flex-direction:column;gap:6px}
.ws-row{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-4);background:var(--surface2)}
.ws-row>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.ws-row b{font-size:13px}.ws-row span:not(.ws-ic){font-size:12.5px;color:var(--ink2);overflow-wrap:anywhere}.ws-row small{font-size:12px;color:var(--ink2)}
.ws-ic{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;margin-top:1px}
.ws-row.ok .ws-ic{background:color-mix(in srgb,#1E8E3E 18%,transparent);color:#1E8E3E}
.ws-row.bad .ws-ic{background:color-mix(in srgb,#E37400 20%,transparent);color:#B06000}
.ws-shot{border-radius:var(--r-4);overflow:hidden;aspect-ratio:1200/630;background:var(--surface2)}.ws-shot img{width:100%;height:100%;object-fit:cover;display:block}
.ws-tools{display:flex;flex-wrap:wrap;gap:6px 14px}
.ws-tools a{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:var(--fw-m);color:var(--primary);text-decoration:none}
.ws-tools a:hover{text-decoration:underline}
/* share panel: the link, a copy button and places to post it */
.shr-dlg{position:fixed;inset:0;z-index:99990;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.32);animation:shrIn var(--d-2,.18s) ease-out}
.shr-card{width:min(440px,100%);background:var(--surface);color:var(--ink);border-radius:var(--r-8);padding:calc(18 * var(--u)) calc(20 * var(--u)) calc(20 * var(--u));box-shadow:0 24px 64px rgba(0,0,0,.28);display:flex;flex-direction:column;gap:calc(12 * var(--u))}
.shr-head{display:flex;align-items:center;justify-content:space-between}.shr-head b{font-size:var(--fs-6)}
.shr-x{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:var(--r-pill);background:transparent;color:var(--ink2);cursor:pointer}.shr-x:hover{background:var(--surface2)}
.shr-t{margin:0;color:var(--ink2);font-size:var(--fs-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shr-row{display:flex;gap:calc(8 * var(--u));align-items:center;padding:calc(5 * var(--u));padding-left:calc(14 * var(--u));border-radius:var(--r-pill);background:var(--surface2)}
.shr-url{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:var(--fs-4);outline:0;text-overflow:ellipsis}
.shr-copy{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.shr-copy.done{background:var(--ok,#1e8e3e);color:#fff}
.shr-to{display:flex;flex-wrap:wrap;gap:calc(8 * var(--u))}
.shr-p{display:inline-flex;align-items:center;gap:6px;padding:calc(8 * var(--u)) calc(14 * var(--u));border:1px solid var(--line);border-radius:var(--r-pill);background:transparent;color:var(--ink);font:inherit;font-size:var(--fs-3);font-weight:var(--fw-m);text-decoration:none;cursor:pointer}.shr-p:hover{background:var(--surface2)}
@keyframes shrIn{from{opacity:0}to{opacity:1}}
@media (max-width:760px){.shr-dlg{place-items:end stretch;padding:0}.shr-card{width:100%;border-radius:var(--r-8) var(--r-8) 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}}
/* the standalone /links page: a way into the full website */
.hb-site{display:flex;align-items:center;justify-content:center;gap:calc(8 * var(--u));width:max-content;max-width:100%;margin:calc(22 * var(--u)) auto calc(10 * var(--u));padding:calc(11 * var(--u)) calc(18 * var(--u));border-radius:999px;background:var(--hb-ac);color:var(--hb-on);font-weight:var(--fw-b);text-decoration:none;box-shadow:0 6px 18px -8px rgba(0,0,0,.35);transition:transform .2s ease}
.hb-site:hover{transform:translateY(-2px)}.hb-site svg{flex:none}

/* Google Keep's colours, light and dark */
:root{--keep-coral:#FAAFA8;--keep-peach:#F39F76;--keep-sand:#FFF8B8;--keep-mint:#E2F6D3;--keep-sage:#B4DDD3;--keep-fog:#D4E4ED;--keep-storm:#AECCDC;--keep-dusk:#D3BFDB;--keep-blossom:#F6E2DD;--keep-clay:#E9E3D4;--keep-chalk:#EFEFF1}
:root[data-theme="dark"]{--keep-coral:#77172E;--keep-peach:#692B17;--keep-sand:#7C4A03;--keep-mint:#264D3B;--keep-sage:#0C625D;--keep-fog:#256377;--keep-storm:#284255;--keep-dusk:#472E5B;--keep-blossom:#6C394F;--keep-clay:#4B443A;--keep-chalk:#242424}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--keep-coral:#77172E;--keep-peach:#692B17;--keep-sand:#7C4A03;--keep-mint:#264D3B;--keep-sage:#0C625D;--keep-fog:#256377;--keep-storm:#284255;--keep-dusk:#472E5B;--keep-blossom:#6C394F;--keep-clay:#4B443A;--keep-chalk:#242424}}
.kn-card.k-coral,.kn-edit.k-coral,.kn-compose-card.k-coral,.kn-sw.k-coral{background:var(--keep-coral)}.kn-card.k-peach,.kn-edit.k-peach,.kn-compose-card.k-peach,.kn-sw.k-peach{background:var(--keep-peach)}.kn-card.k-sand,.kn-edit.k-sand,.kn-compose-card.k-sand,.kn-sw.k-sand{background:var(--keep-sand)}.kn-card.k-mint,.kn-edit.k-mint,.kn-compose-card.k-mint,.kn-sw.k-mint{background:var(--keep-mint)}.kn-card.k-sage,.kn-edit.k-sage,.kn-compose-card.k-sage,.kn-sw.k-sage{background:var(--keep-sage)}.kn-card.k-fog,.kn-edit.k-fog,.kn-compose-card.k-fog,.kn-sw.k-fog{background:var(--keep-fog)}.kn-card.k-storm,.kn-edit.k-storm,.kn-compose-card.k-storm,.kn-sw.k-storm{background:var(--keep-storm)}.kn-card.k-dusk,.kn-edit.k-dusk,.kn-compose-card.k-dusk,.kn-sw.k-dusk{background:var(--keep-dusk)}.kn-card.k-blossom,.kn-edit.k-blossom,.kn-compose-card.k-blossom,.kn-sw.k-blossom{background:var(--keep-blossom)}.kn-card.k-clay,.kn-edit.k-clay,.kn-compose-card.k-clay,.kn-sw.k-clay{background:var(--keep-clay)}.kn-card.k-chalk,.kn-edit.k-chalk,.kn-compose-card.k-chalk,.kn-sw.k-chalk{background:var(--keep-chalk)}
.kn-pop12{display:grid;grid-template-columns:repeat(6,auto);gap:6px}
.kn-row.sub{margin-left:28px}.kn-li li.sub{padding-left:22px}

/* Settings → Sync: Google accounts for the Planner */
.ga-list{display:flex;flex-direction:column;gap:calc(8 * var(--u));margin:calc(10 * var(--u)) 0}
.ga-acc{display:flex;align-items:center;flex-wrap:wrap;gap:calc(8 * var(--u)) calc(12 * var(--u));padding:calc(12 * var(--u)) calc(14 * var(--u));border-radius:var(--r-5);background:var(--surface2)}
.ga-dot{width:12px;height:12px;border-radius:50%;flex:none}
.ga-who{flex:1;min-width:180px;display:flex;flex-direction:column}.ga-who b{font-size:var(--fs-4);overflow-wrap:anywhere}.ga-who small{color:var(--ink2);font-size:var(--fs-2)}
.ga-res p{margin:calc(4 * var(--u)) 0 0;font-size:var(--fs-3)}
.ga-ok{display:flex;align-items:center;gap:4px;color:var(--ink)}.ga-ok svg{color:var(--ok)}
.ga-acc .ow-app{margin:0}
.ga-acc .btn.sm,.btn.sm{padding:calc(7 * var(--u)) calc(12 * var(--u));font-size:var(--fs-3)}
.ga-h{margin:calc(18 * var(--u)) 0 calc(4 * var(--u));font-size:var(--fs-5)}
.ga-days{width:56px;display:inline-block;padding:calc(3 * var(--u)) calc(6 * var(--u));margin:0 2px}
.ga-vip{width:100%;box-sizing:border-box;resize:vertical;font:inherit}
.ga-setup{margin-top:calc(14 * var(--u))}.ga-setup summary{cursor:pointer;font-weight:var(--fw-m)}
a.btn[aria-disabled="true"]{opacity:.6}

/* reminders: the rules in Settings, and the card that appears when one comes due */
.rr-box{margin:calc(14 * var(--u)) 0 calc(18 * var(--u))}
.rr-list{display:flex;flex-direction:column;gap:calc(6 * var(--u));margin:calc(10 * var(--u)) 0}
.rr-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:calc(12 * var(--u));padding:calc(10 * var(--u)) calc(12 * var(--u));border-radius:var(--r-4);background:var(--surface2)}
.rr-n{display:flex;flex-direction:column;min-width:0}.rr-n small{color:var(--ink2);font-size:var(--fs-2)}
.rr-row input[type=time]{border:0;border-radius:var(--r-3);background:var(--surface);color:var(--ink);font:inherit;padding:calc(6 * var(--u)) calc(8 * var(--u))}
.rr-sw{position:relative;display:inline-block;width:42px;height:24px;flex:none}.rr-sw input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}
.rr-sw span{position:absolute;inset:0;border-radius:12px;background:color-mix(in srgb,var(--ink) 22%,transparent);transition:background .2s}
.rr-sw span::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--surface);transition:transform .2s var(--calm,ease)}
.rr-sw input:checked+span{background:var(--primary)}.rr-sw input:checked+span::after{transform:translateX(18px)}
.rr-sw input:focus-visible+span{outline:3px solid var(--primary);outline-offset:2px}
.rr-h{margin:calc(14 * var(--u)) 0 calc(6 * var(--u));font-size:var(--fs-3);font-weight:var(--fw-m)}
.rr-snd{display:flex;align-items:center;gap:calc(10 * var(--u));flex-wrap:wrap;margin:calc(6 * var(--u)) 0}.rr-snd input[type=range]{flex:1;min-width:120px}
@media (max-width:560px){.rr-row{grid-template-columns:auto minmax(0,1fr)}.rr-row select,.rr-row input[type=time]{grid-column:2}}
.rmc-stack{position:fixed;right:16px;bottom:96px;z-index:3000;display:flex;flex-direction:column;gap:10px;align-items:flex-end;pointer-events:none}
.rmc{pointer-events:auto;width:min(340px,calc(100vw - 32px));background:var(--surface);color:var(--ink);border-radius:var(--r-5,20px);padding:14px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateY(12px) scale(.98);transition:opacity .22s,transform .26s var(--calm,ease)}
.rmc.in{opacity:1;transform:none}.rmc.out{opacity:0;transform:translateY(8px)}
.rmc-t{display:flex;flex-direction:column;gap:2px}.rmc-t b{font-weight:var(--fw-m)}.rmc-t span{color:var(--ink2);font-size:var(--fs-3);overflow-wrap:anywhere}
.rmc-a{display:flex;gap:6px;flex-wrap:wrap}.rmc-b{border:0;border-radius:999px;padding:7px 14px;background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);font:inherit;font-size:var(--fs-2);font-weight:var(--fw-m);cursor:pointer}
.rmc-b.ghost{background:transparent;color:var(--ink2)}.rmc-b:hover{background:color-mix(in srgb,var(--primary) 24%,transparent)}
