:root{--ink:#183e33;--green:#184537;--paper:#faf7ef;--line:#d7d3c5;--sub:#5c6c63;color:var(--ink);background:var(--paper);font:16px system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}header,main{width:min(1140px,92%);margin:auto}header,.bar,.actions,.dialoghead,.end,footer{display:flex;justify-content:space-between;align-items:center;gap:12px}header{height:74px}.logo,h1,h2,h3,.hero span,.weekname{font-family:Georgia,serif;font-weight:400}.logo{font-size:44px;color:inherit;text-decoration:none;letter-spacing:-3px}.logo span{font:12px system-ui;letter-spacing:.03em;margin-left:14px;color:var(--sub)}button,input,select,textarea{font:inherit;color:inherit}button{border:1px solid transparent;background:none;border-radius:9px;padding:9px 14px;cursor:pointer;min-height:42px}button:hover{background:#e6e8db}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #388b87;outline-offset:2px}button:disabled{opacity:.38;cursor:default}.active,.green,.green:hover{background:var(--green);color:white}header nav,.actions>div,#modes{display:flex;align-items:center;gap:4px}.hero{height:clamp(145px,17vw,225px);background:url(/vila.webp) center 61% /cover;position:relative}.hero span{position:absolute;bottom:12px;right:4%;color:white;font-size:17px;font-style:italic;text-shadow:0 1px 4px #152f31;background:#193c396e;padding:4px 11px;border-radius:20px}.bar{padding:26px 0 18px}.period small,footer,small{color:var(--sub)}h1{font-size:clamp(29px,4vw,51px);margin:3px 0;line-height:1.1;letter-spacing:-.04em}h2{font-size:30px;margin:0}h3{font-size:23px;margin:0 0 10px}#modes{border:1px solid var(--line);border-radius:12px;padding:3px}#modes:empty{display:none}.actions{padding:0 0 14px;border-bottom:1px solid var(--line)}#prev,#next{font-size:25px;padding:2px 12px}.week{display:grid;grid-template-rows:repeat(4,auto);grid-auto-flow:column;grid-template-columns:1fr 1fr;background:linear-gradient(90deg,transparent 49%,#eae5d955 49.9%,transparent 51%)}.daybox{min-height:96px;border-bottom:1px solid var(--line);padding:10px 16px}.daybox:nth-child(-n+4){border-right:1px solid var(--line)}.weekname{font-size:24px;font-style:italic;padding:4px 8px}.selected .weekname,.monthday.selected{background:#dbe7da}.entry{display:flex;gap:8px;align-items:center;border-bottom:1px solid #ddd9cc;padding:4px}.entry button.item{text-align:left;flex:1;min-width:0;overflow-wrap:anywhere}.entry time{font-variant-numeric:tabular-nums;font-size:14px;color:var(--sub);margin-right:10px}.done{text-decoration:line-through;color:var(--sub)}.calendar,.minigrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.wd{text-align:center;padding:8px 0;color:var(--sub);font-size:.82rem}.monthday{text-align:left;border-radius:0;border-top:1px solid var(--line);min-height:75px;padding:8px;align-self:stretch}.monthday b{display:block;font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#3a6554}.years{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:18px}.mini{text-align:left;border:1px solid var(--line);padding:12px;border-radius:4px}.mini strong{font:22px Georgia}.minigrid{margin-top:9px;font-size:12px;text-align:center;line-height:1.7}.dot{font-weight:800;background:#dfebdf;border-radius:5px}.list{max-width:760px;margin:20px auto}.list h3{margin-top:23px}.empty{color:var(--sub);padding:12px 8px;line-height:1.6}.end,.dialoghead{margin:7px 0 14px}.end{margin-top:18px}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:15px;padding:24px;width:min(470px,94vw);max-height:90dvh;overflow:auto}dialog::backdrop{background:#18382d68}label{display:block;font-size:14px;margin:12px 0}input,textarea,select{display:block;width:100%;margin-top:4px;border:1px solid #b5bdac;border-radius:6px;padding:9px;background:#fffdf6;min-height:42px}.pair{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}summary{cursor:pointer;padding:10px 0}#warn{color:#91532d;margin-top:10px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#183f34;color:white;padding:14px;border-radius:10px;z-index:10;width:max-content;max-width:92vw}footer{border-top:1px solid var(--line);padding:19px 0;margin-top:24px;font-size:12px}[hidden]{display:none!important}
@media(max-width:700px){header{height:62px}.logo{font-size:35px}.logo span{display:none}header nav button{padding:6px 8px;font-size:14px}.hero{height:135px}.bar{align-items:flex-start;flex-direction:column;padding:17px 0 10px;gap:9px}#modes{width:100%}#modes button{flex:1;padding:7px}.actions{gap:4px}.actions button{padding:7px 9px}.week{display:block;background:none}.daybox:nth-child(-n+4){border-right:0}.daybox{min-height:72px;padding:7px 3px}.years{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mini{padding:8px}.monthday{min-height:50px;text-align:center}.calendar .wd{font-size:.72rem}.entry{padding:2px}.period small{font-size:12px}}
header{gap:6px}header nav{margin-left:auto}#settingsBtn{font-size:24px;padding:5px 9px}.filter{display:flex;justify-content:flex-end}.filter label{display:flex;align-items:center;gap:10px}.filter select{width:auto;margin:0}.catmark{font-size:.73rem;margin-left:10px;white-space:normal}.catmark:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--cat);margin-right:4px}.catrow{display:grid;grid-template-columns:1fr 55px;gap:8px;margin-bottom:7px}.catrow input[type=color]{padding:2px}.spanbar{border-radius:4px;text-align:left;min-height:25px;margin:1px;padding:3px 7px;border-left:4px solid var(--cat);background:#e6ecdf;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monthweek{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-column:1/-1}#quickbox{padding:0 0 12px;border-bottom:1px solid var(--line)}#quickstatus{display:block}.hero.custom span{display:none}body.large{font-size:1.18rem}body.large label,body.large small,body.large .minigrid,body.large .catmark{font-size:1rem}body.high{--paper:#fff;--ink:#071d14;--sub:#21372c;--line:#647063;--green:#093a24}button:focus-visible,select:focus-visible{outline-offset:1px}.tpl{display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}#settings h3{margin-top:22px}@media(max-width:420px){header{width:97%}header nav{gap:0}header nav button{padding:6px}#settingsBtn{padding:5px}.catmark{display:block;margin-left:0}}
.hero{isolation:isolate;overflow:hidden;touch-action:pan-y;background-color:#7b998e;background-image:none}.hero>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.hero.custom>img,.hero.custom>.coastControls{display:none}.coastControls{position:absolute;bottom:8px;right:3%;display:flex;align-items:center;background:#102921db;color:white;border-radius:24px;padding:0 4px}.dots{display:flex}.coastControls button,.coastControls a{display:grid;place-items:center;min-height:38px;min-width:38px;padding:0;border:0;background:transparent;color:white;text-decoration:none;font-size:14px}.dots button:before{content:'';width:6px;height:6px;border-radius:50%;border:1px solid white}.dots button[aria-pressed=true]:before{background:white}.welcome{max-width:750px;padding-top:36px}.welcome p{line-height:1.6;max-width:50ch}.signin{display:inline-block;background:var(--green);color:white;padding:12px 20px;border-radius:10px;text-decoration:none}.end{flex-wrap:wrap}#googleEvent{border:1px solid var(--line)}@media(pointer:coarse){.coastControls button,.coastControls a{min-width:44px;min-height:44px}}
.mast{position:relative;isolation:isolate}.mast header{position:absolute;z-index:2;inset:0 0 auto;color:white;flex-wrap:nowrap}.mast header .logo,.mast header .logo span{color:#fff}.mast .hero{height:clamp(240px,26vw,370px)}.mast .hero:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,27,23,.84),rgba(8,27,23,.55) 23%,transparent 55%)}.mast .coastControls{z-index:2}.mast header select{width:auto;margin:0;padding:5px 8px;color:white;background:#142f29ad;border:1px solid #ffffff75}.mast header select option{color:#143a30;background:white}.mast header nav button:hover,.mast #settingsBtn:hover{background:#26483f}.mast header nav .active{background:#f8f7ed;color:#123f32}.mast header:has(nav) .logo span{letter-spacing:0}.mast header:not(:has(nav)) select{margin-left:auto}.mast .hero img{object-position:50% 50%}@media(max-width:700px){.mast header{height:auto;min-height:62px;display:flex;flex-wrap:wrap;align-content:flex-start;padding-top:7px;gap:3px}.mast header .logo span{display:inline;margin-left:8px}.mast header #language{margin-left:auto}.mast header #sections{order:4;flex:0 0 100%;margin:0;justify-content:flex-start}.mast header #settingsBtn{order:3}.mast .hero{height:220px}.mast .hero:before{background:linear-gradient(#071b16db,#112b21a6 47%,transparent 78%)}}
.skybar{position:absolute;z-index:2;right:max(12px,3%);bottom:12px;display:flex;align-items:center;max-width:calc(100% - 24px);gap:0;border:1px solid #ffffff4a;border-radius:24px;color:#fff;background:rgb(12 23 23 / 28%);text-shadow:0 1px 3px #101817,0 0 1px #101817;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);font:500 13px/1.2 system-ui,sans-serif}.skybar button,.skybar a{display:inline-flex;align-items:center;gap:6px;min-height:42px;min-width:0;padding:0 12px;color:inherit;background:transparent;text-decoration:none;font:inherit}.skybar b{font-weight:500}.skybar #place{max-width:36vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skybar i{font:normal 18px/1 system-ui}.skybar a,.skybar time{border-left:1px solid #ffffff50}.skybar time{padding:2px 12px;font-variant-numeric:tabular-nums}.skybar button:disabled{opacity:.9}.skybar [hidden]{display:none!important}@media(max-width:700px){.skybar{bottom:9px;font-size:12px}.skybar button,.skybar a{min-height:44px;padding:0 9px}}

.guest-note{display:none}html[data-storage=device] .guest-note{display:block;font-size:.8rem;color:var(--sub);margin:18px 0}
.mast header .logo{display:flex;flex-direction:column;align-items:flex-start;line-height:.95}
.mast header .logo span{display:block;margin:5px 0 0;font-size:12px;font-weight:400;line-height:1}
#language{display:flex;align-items:center;white-space:nowrap;gap:0}
#language button{min-height:40px;padding:0 5px;font-size:11px;font-weight:400;letter-spacing:.06em;color:#fff;background:none;border:0;border-radius:0}
#language button[aria-pressed=true]{text-decoration:underline;text-underline-offset:5px}
.mast #sections{position:relative;isolation:isolate;display:inline-flex;gap:0;padding:3px;border-radius:24px;border:1px solid #ffffff50;background:#13342e46;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.mast #sections:empty{visibility:hidden}
#sections::before{content:"";position:absolute;pointer-events:none;left:0;top:3px;bottom:3px;width:var(--bubble-width,0);transform:translateX(var(--bubble-left,0));border-radius:22px;background:linear-gradient(155deg,#ffffff57,#e8ffff16 49%,#e0ffff35);box-shadow:inset 0 1px 2px #fffc,inset 0 -1px 3px #ccfffd70,0 2px 5px #102b2433;transition:transform .28s ease,width .28s ease}
.mast #sections button,.mast #sections button:hover{position:relative;background:transparent;color:white;font-weight:500;text-shadow:0 1px 3px #10261d}
.skybar{right:auto;left:max(8px,1.3vw);bottom:7px;font-size:11px;border-color:#ffffff42}
.skybar button,.skybar a{min-height:32px;padding:0 7px;gap:4px}.skybar time{padding:1px 7px}.skybar i{font-size:14px}.skybar svg{width:12px;height:12px}
.filter>select{width:auto;min-height:36px;margin:6px 0}
@media(max-width:700px){.mast header #sections{flex:0 0 auto;margin:3px auto 0 0;order:4}.mast header{display:grid;grid-template-columns:1fr auto auto}.mast header .logo{grid-column:1;grid-row:1}.mast #settingsBtn{grid-column:2;grid-row:1}.mast #language{grid-column:3;grid-row:1}.mast header #sections{grid-column:1/-1;grid-row:2;justify-self:start}.mast header .logo span{margin-left:0}.skybar{left:8px;bottom:6px}}
@media(prefers-reduced-motion:reduce){#sections::before{transition:none}}
@media(max-width:700px){
 .mast>.hero::before{background:linear-gradient(180deg,#091e19bc,transparent 48%)}
}
 .mast>#sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(92%,480px);margin:8px auto 0;padding:2px;border:1px solid var(--line);border-radius:15px;background:#edf1e8}
 .mast>#sections:empty{display:none}
 .mast>#sections button,.mast>#sections button:hover{min-height:44px;padding:4px 2px;text-align:center;color:var(--ink);text-shadow:none;font-size:14px}
 .mast>#sections button.active,#modes button.active{font-weight:650}
 .mast>#sections::before,#modes::before{top:0;bottom:auto;height:var(--bubble-height,44px);border-radius:13px;transform:translate(var(--bubble-left,2px),var(--bubble-top,2px));background:linear-gradient(160deg,#fff9,#c3dfd44d);box-shadow:inset 0 1px 2px white,inset 0 -1px 2px #7eaa9866,0 1px 4px #183e331a}

.mast header #settingsBtn{margin-left:auto}

#modes{position:relative;isolation:isolate;gap:0;padding:2px;border-radius:15px;background:#edf1e8}
#modes::before{position:absolute;content:"";pointer-events:none;left:0;width:var(--bubble-width,0);transition:transform .28s ease,width .28s ease}
#modes button,#modes button:hover{position:relative;min-height:44px;color:var(--ink);background:transparent;font-size:14px}
#add{position:relative;min-height:44px;padding-inline:17px;border-radius:26px 22px 25px 18px;color:#143d34;font-weight:650;border:1px solid #9ebeb2;background:radial-gradient(ellipse at 25% 14%,#fffe,transparent 35%),linear-gradient(150deg,#effbf5dc,#c5e2d7aa 56%,#b0d4c9d9);box-shadow:inset 0 2px 2px #fff,inset 0 -2px 4px #62988660,0 2px 5px #284b3d20}
#add:active{box-shadow:inset 0 1px 4px #55867760}
@media(prefers-reduced-motion:reduce){#modes::before{transition:none}}
#title .year-menu{display:inline-block;vertical-align:middle;margin:0}
#title .year-menu summary{font:inherit;min-height:44px}
#title .year-menu .choice-options{position:absolute;z-index:8;min-width:100%}
#title .year-menu button{font-family:var(--writing)}

.note-tabs{display:inline-flex;gap:3px;border:1px solid var(--line);border-radius:16px;padding:2px;margin-bottom:14px}.note-tabs button{min-height:44px;border-radius:14px;padding-inline:20px}
.mast header .logo{letter-spacing:-1.5px}
#modes{border-color:#dce2da;background:#f3f4ef}
#modes::before{box-shadow:inset 0 1px 1px white,0 1px 2px #183e3312}
.origin{margin-inline-start:.5em;font:500 .72rem system-ui;color:var(--ink)}
#when summary,#extra summary{min-height:44px;cursor:pointer;align-content:center}
#keyValue{display:block;overflow-wrap:anywhere;font:500 1.05rem/1.6 monospace;user-select:all;margin:1rem 0}
#vaultSettings[hidden],#bodyLabel[hidden],#reminders[hidden],#fileLabel[hidden]{display:none}
.date-title{font-style:italic}


@font-face{font-family:"Studio Cuaderno";src:url("/studio-cuaderno.ttf") format("truetype");font-weight:550;font-style:normal;font-display:swap}
:root{--writing:"Studio Cuaderno",system-ui,sans-serif}
body{font-family:var(--writing);font-size:21px;line-height:1.3;font-weight:550}
body :is(h1,h2,h3,button,select,input,textarea,label,summary,strong,b,small,code,.mini strong,.weekname,.origin),.mast header .logo span{font-family:var(--writing);font-weight:550;font-style:normal}
.mast header .logo span{font-size:20px;margin-top:2px}
.mast #sections button,#modes button,.actions button,.note-tabs button{font-size:22px;line-height:1.15}
.mast #sections button.active,#modes button.active{font-weight:550}
.period h1{font-size:clamp(36px,5vw,54px);letter-spacing:0;font-style:normal}
body label,body small,body footer,.period small,.entry time,body .catmark,.calendar .wd,.minigrid,body .guest-note{font-size:17px}
body :is(input,textarea,select,summary){font-size:21px}
#language button{font-size:16px;letter-spacing:0}
.skybar{font-size:16px}
#add{font-weight:550}
#keyValue{font-family:var(--writing);font-size:23px}
input::file-selector-button{font:inherit}
body.large{font-size:25px}
body.large :is(label,small,.minigrid,.catmark,select,input,textarea,button){font-size:1.12em}
@media(max-width:700px){#modes button{padding-inline:4px}.actions button{padding-inline:6px}.monthday b:first-of-type:after{font-family:system-ui,sans-serif}.minigrid{font-size:16px}}

button[data-day]{touch-action:manipulation}
.day-heading,.day-heading:hover{font:inherit;padding:0;color:inherit;background:none;text-align:left}
.mini-month{font-size:1.15em;padding:0 3px}
.minigrid .mini-day{min-height:24px;padding:0;min-width:0;font:inherit;line-height:1.3;text-align:center}
.mast>#sections,#modes,.note-tabs{
 border:0;background:linear-gradient(160deg,#f9fcf8aa,#dfece454 65%,#e7f2eb88);
 box-shadow:inset 0 2px 4px #ffffffbc,0 3px 8px #36574b0c;border-radius:24px
}
.mast>#sections::before,#modes::before,.note-drop::before{
 border:0;border-radius:22px;background:radial-gradient(ellipse at 27% 10%,#fffffff0,transparent 43%),linear-gradient(155deg,#effcf4d6,#b9dbce9e 70%,#d6ece2c9);
 box-shadow:inset 0 2px 3px #ffffffb5,inset 0 -2px 4px #61968040,0 2px 5px #274c3b1c
}
.mast>#sections button,#modes button,.weekname,.actions #add{border:0}
.actions #add,.selected .weekname{background:radial-gradient(ellipse at 28% 12%,#fffffff0,transparent 38%),linear-gradient(150deg,#eef9f3,#c6e2d5 66%,#adcebf);box-shadow:inset 0 2px 3px #fff,inset 0 -2px 5px #6b96823d,0 3px 7px #254a3820;border-radius:25px 22px 25px 20px}

.note-tabs{max-width:100%;padding:3px;gap:1px}
.note-drop{display:inline-flex;align-items:center;position:relative;isolation:isolate}
.note-drop::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transform:scale(.94,.9);transition:opacity .2s,transform .3s ease-out;pointer-events:none}
.note-drop.chosen::before,.note-drop:focus-within::before,.note-drop:active::before{opacity:1;transform:none}
.note-tabs button,.note-tabs button:hover{padding:3px clamp(5px,1.5vw,12px);background:transparent;color:var(--ink);border:0}
.note-tabs .notebook-link{min-width:32px;min-height:44px;display:grid;place-items:center;border-radius:14px;padding:3px clamp(5px,1.5vw,12px);font:inherit;color:var(--ink);text-decoration:none}
.notebook-link:focus-visible{outline:3px solid #388b87;outline-offset:-3px}
@media(hover:hover){.note-drop:hover::before{opacity:1;transform:scale(1.025,1.035)}.notebook-link:hover{background:#ffffff70}}
@media(prefers-reduced-motion:reduce){.note-drop::before{transition:none;transform:none}}

body{font-size:23px}
body :is(label,input,select,textarea,summary){font-size:22px}
.mast #sections button,#modes button,.actions button,.note-tabs button{font-size:23px}
body.large{font-size:27px}
.calendar .monthday{min-width:0;font-size:1.12em;line-height:1.14}
.calendar .monthday b{font-family:var(--writing);font-size:clamp(19px,2vw,23px);font-weight:550;line-height:1.16;color:var(--ink);white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin-top:3px}
.calendar .wd,.calendar .spanbar{font-size:20px}
body.large .calendar .monthday b{font-size:25px}
footer{flex-wrap:wrap}footer a,#gate a{color:var(--ink);text-underline-offset:4px}footer a{display:inline-flex;align-items:center;min-height:44px;font-size:20px}
.privacy-page{max-width:38rem;margin:35px auto;padding:0 8px;line-height:1.5}
.privacy-page h2{margin-top:1em}
@media(max-width:700px){.calendar .monthday{min-height:64px;padding:5px 2px}.calendar .monthday b{font-size:19px}.calendar .monthday b:first-of-type:after{content:none}}
footer [data-share]{font-size:20px;color:var(--ink);text-decoration:underline;text-underline-offset:4px;min-height:44px;padding-inline:0}
#gate [data-gift]{display:block;margin-bottom:4px;color:var(--sub)}
.choice-field{margin:12px 0;font-size:22px}
.choice-menu{position:relative;margin-top:4px;color:var(--ink);font-family:var(--writing)}
.choice-menu summary,.choice-menu .choice-options button{font:550 22px/1.35 var(--writing);color:inherit;text-align:left;min-height:44px}
.choice-menu summary{cursor:pointer;padding:7px 12px;background:var(--paper);border:1px solid var(--line);border-radius:9px}
.choice-options{position:relative;display:grid;padding:4px;border-radius:12px;background:var(--paper);box-shadow:0 3px 10px #213e3426;max-height:42vh;overflow:auto}
.choice-options button{padding:6px 12px}
.choice-options button[aria-pressed=true]{background:#dbe7da;color:#183e33}
.filter .choice-menu{width:max-content;max-width:100%;min-width:7em;margin:6px 0}
body.large .choice-menu :is(summary,button){font-size:26px}

body[data-reading-size=large]{--reading:27px}
body[data-reading-size=super]{--reading:31px}
body[data-reading-size=extra]{--reading:36px}
body.large{font-size:var(--reading)}
body.large :is(label,small,.catmark,.minigrid,.entry time,.origin,.guest-note,footer a,.calendar .wd,.calendar .spanbar){font-size:calc(var(--reading)*.86)}
body.large :is(input,textarea,select,summary,button,.choice-field),body.large .choice-menu :is(summary,button),body.large .mast #sections button,body.large #modes button,body.large .actions button,body.large .note-tabs button{font-size:var(--reading)}
body.large .calendar .monthday b{font-size:calc(var(--reading)*.93)}
body.large .minigrid .mini-day{font-size:inherit}
body.large .period h1,body.large .day-heading{font-size:clamp(var(--reading),6vw,calc(var(--reading)*1.65))}
body.large #language button{font-size:calc(var(--reading)*.66)}
body.large .skybar{font-size:calc(var(--reading)*.70)}
body.large .skybar button{font-size:inherit}
body.large :is(.bar,.actions,.actions>div,.end,.note-tabs){flex-wrap:wrap}
body.large .note-tabs{width:fit-content}
body.large .years{grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(var(--reading)*8)),1fr))}
body.large input,body.large select,body.large textarea{min-width:0}
body.large .pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,8em),1fr))}
@media(max-width:470px){
 body:is([data-reading-size=extra],[data-reading-size=super]) #modes{display:grid;grid-template-columns:1fr 1fr}
 body.large .choice-field,body.large dialog{overflow-wrap:anywhere}
 body.large .actions{row-gap:8px}
}
html.negative{color-scheme:dark;--paper:#101715;--ink:#f5faf6;--sub:#d5e3da;--line:#85998d;--green:#335646;background:var(--paper);color:var(--ink)}
.negative body{background:var(--paper);color:var(--ink);min-height:100vh}
.negative :is(input,textarea,select,dialog,.choice-options,.choice-menu summary){background:#18231e;color:var(--ink);border-color:var(--line)}
.negative :is(a,.wd,.entry time,.catmark,.calendar .monthday b,.notebook-link){color:var(--ink)}
.negative :is(button:hover,.choice-options button[aria-pressed=true],.selected .weekname,.monthday.selected,.dot,.spanbar,.green,.active){background:#375548;color:#fff}
.negative .mast>#sections,.negative #modes,.negative .note-tabs{background:#1d3028;box-shadow:inset 0 1px 3px #a1c7ae47}
.negative .mast>#sections::before,.negative #modes::before,.negative .note-drop::before,.negative .actions #add,.negative .selected .weekname{color:#fff;background:linear-gradient(155deg,#456757,#2a4438);box-shadow:inset 0 1px 2px #d0f1de70,0 2px 4px #0006}
.negative .mast #sections button,.negative #modes button,.negative .note-tabs button{background:transparent;color:var(--ink)}
.negative :is(.choice-options,.daybox,.monthday,.entry,.filter,footer){border-color:var(--line)}
.negative button:focus-visible,.negative a:focus-visible,.negative summary:focus-visible,.negative input:focus-visible{outline:3px solid #a8efd4}
.negative #warn,.negative #gateMsg,.negative #recoverMsg{color:#ffe0b2}
.negative .week{background:none}
.mast>#sections,body.large .mast>#sections{width:min(95%,650px);padding:4px}
body .mast>#sections button,body.large .mast>#sections button{font-size:clamp(31px,4vw,42px);min-height:56px;line-height:1.15;padding:5px 2px}
body.large .mast>#sections button{font-size:max(var(--reading),clamp(32px,4vw,42px))}
.gift-share{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.gift-share small{line-height:1.15;color:var(--sub)}
.reading-options{border:0;padding:0;margin:16px 0;min-inline-size:0;display:flex;gap:5px;flex-wrap:wrap}
.reading-options legend{padding:0;margin-bottom:4px}
.reading-options label{display:inline-flex;align-items:center;min-height:44px;gap:6px;cursor:pointer;margin:0;padding:3px 9px;border-radius:12px}
.reading-options input[type=radio]{width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--green);flex:none}
.reading-options label:has(:checked){background:#dceade;color:#142f26}
.negative .reading-options label:has(:checked){background:#375548;color:white}
.high .reading-options label:has(:checked){background:#102e1e;color:white}
.mast{z-index:4}
.mast header.compact{
 position:fixed;inset:0 0 auto;width:100%;margin:0;box-sizing:border-box;
 padding:5px max(3vw,env(safe-area-inset-right)) 5px max(3vw,env(safe-area-inset-left));
 display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:0 10px;
 height:auto;min-height:48px;color:white;background:rgb(16 40 34 / 82%);
 backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 2px 7px #122e2524
}
.mast header.compact .logo{font-size:28px;grid-column:1;grid-row:1}
.mast header.compact .logo span{font-size:15px;margin-top:2px}
.mast header.compact #settingsBtn{grid-column:3;grid-row:1;order:0}
.mast header.compact #language{grid-column:4;grid-row:1}
.mast header.compact .skybar{position:static;grid-column:2;grid-row:1;justify-self:start;max-width:100%;min-width:0}
.mast header.compact #settingsBtn,.mast header.compact #language{background:#ffffff14;border-radius:18px;color:white}
.mast header.compact #language{padding-inline:4px}
@media(max-width:620px){
 .mast header.compact{grid-template-columns:1fr auto auto;row-gap:3px}
 .mast header.compact #settingsBtn{grid-column:2}
 .mast header.compact #language{grid-column:3}
 .mast header.compact .skybar{grid-column:1/-1;grid-row:2}
 .mast header.compact .skybar button,.mast header.compact .skybar a{min-height:30px}
}
html{scroll-padding-top:100px}

#gate,#gate :is(p,h2,label,legend,span,small,a,button,input,select){font-family:var(--writing);font-weight:550}
#gate .gate-access{margin-block:12px}

.studio-footer{display:block;padding:20px 0}
.footer-top,.footer-caption{display:flex;align-items:center;flex-wrap:wrap;gap:2px 16px}
.footer-top{justify-content:space-between}
.footer-top [data-share]{margin-inline-start:auto;font-size:20px}
.studio-footer .studio-signature{font-size:1.35em;color:var(--ink);line-height:1.2;text-decoration:none}
.studio-footer .footer-caption{color:var(--sub)}
.footer-caption small,.studio-footer .footer-caption a{font-size:16px;line-height:1.35;color:inherit}
.studio-footer a,.studio-footer [data-share]{text-decoration:none}
.studio-footer :is(a,button):hover{text-decoration:underline}
#usageCount{margin-inline-start:auto}
.count-description{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body.large .studio-footer .studio-signature{font-size:calc(var(--reading)*1.24)}
body.large .footer-top [data-share]{font-size:var(--reading)}
body.large .studio-footer .footer-caption :is(small,a){font-size:calc(var(--reading)*.78)}
.install-links{display:flex;flex-direction:column;align-items:flex-end;margin-inline-start:auto}
.install-links #installHelp{display:inline-flex;align-items:center;gap:6px;padding:0;min-height:44px;color:var(--sub);font-family:var(--writing);font-size:18px}
.install-links #installHelp:hover{text-decoration:underline}
.app-example{display:flex;align-items:center;gap:12px}.app-example img{border-radius:12px}
.install-devices{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap}
.install-devices button[aria-pressed=true]{background:var(--green);color:white}
#installSteps{padding-inline-start:1.3em}#installSteps li+li{margin-top:10px}
body.large .install-links #installHelp{font-size:calc(var(--reading)*.85)}


.note-tabs .notebook-link{font-family:var(--writing);font-size:22px;line-height:1.15}
body.large .note-tabs .notebook-link{font-size:var(--reading)}

.cover-switch{margin:12px 0;border:0;padding:0;min-width:0}.cover-switch>div{display:flex;border-radius:16px;background:var(--paper);border:1px solid var(--line);overflow:hidden}.cover-switch label{margin:0;flex:1;position:relative;cursor:pointer;text-align:center;display:grid}.cover-switch label+label{border-inline-start:1px solid var(--line)}.cover-switch input{position:absolute;opacity:0;width:1px;height:1px}.cover-switch span{display:grid;align-content:center;min-height:44px;padding:4px}.cover-switch input:checked+span{background:var(--ink);color:var(--paper)}.cover-switch input:focus-visible+span{outline:2px solid currentColor;outline-offset:-4px}.note-tabs .notebook-link{width:44px;padding:0}

.note-card{flex-wrap:wrap}.note-excerpt{display:block;white-space:pre-line}.note-actions{display:flex;align-items:center;gap:.3em;flex-wrap:wrap}.note-actions button{min-height:44px;padding-inline:.5em}.note-actions span{overflow-wrap:anywhere}.note-card .item{min-width:min(100%,12em)!important}

.skybar #localClock{font-family:var(--writing);white-space:nowrap;flex-shrink:0}

#categoryChoices{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
#categoryChoices button{font:inherit;min-height:44px;border-radius:20px;padding:4px 14px;color:var(--ink);background:var(--paper);border:1px solid var(--line)}
#categoryChoices button[aria-pressed=true]{background:var(--ink);color:var(--paper)}

.agenda-home .entry,.calendar .monthday b,.calendar .spanbar{border-inline-start:4px solid var(--cat);padding-inline-start:5px}
.agenda-home .entry,.calendar .spanbar{background:color-mix(in srgb,var(--cat) 10%,var(--paper));color:var(--ink)}
.day-colours{display:flex;width:100%;height:4px;border-radius:3px;overflow:hidden;outline:1px solid color-mix(in srgb,var(--ink) 22%,transparent);pointer-events:none}
.day-colours>span{flex:1;min-width:0}
.minigrid .mini-day{position:relative;padding-bottom:5px}
.mini-day .day-colours{position:absolute;inset-inline:10%;bottom:1px;width:80%}
#categoryChoices button::before{content:'';display:inline-block;width:.62em;height:.62em;border-radius:50%;margin-inline-end:.3em;background:var(--cat);box-shadow:0 0 0 1px currentColor}

.settings-save{display:flex;align-items:center;justify-content:flex-end;gap:.6em;margin:16px 0 0}.settings-save button{min-height:44px;padding:.3em 1.3em;border:0;border-radius:30px;font-family:var(--writing);color:var(--ink);background:linear-gradient(150deg,#fff9,#bedfd191);box-shadow:inset 0 1px 2px #fff9,0 2px 6px #244c3725}.negative .settings-save button{background:#375548;color:white}

#fixedPhotoPicker{margin:12px 0}
#fixedPhotoPicker summary{cursor:pointer;min-height:44px;padding:8px 4px;font:inherit}
#coverGallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,125px),1fr));gap:8px}
#coverGallery button{position:relative;display:grid;align-content:start;gap:5px;min-width:0;padding:5px;border:2px solid transparent;border-radius:12px;font:inherit;color:var(--ink);background:var(--paper);line-height:1.15}
#coverGallery img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:7px}
#coverGallery [aria-pressed=true]{border-color:currentColor}
#coverGallery [aria-pressed=true]::after{content:'✓';position:absolute;top:8px;right:8px;border-radius:50%;background:var(--paper);color:var(--ink);width:1.3em;text-align:center}

#rememberDevice label{display:flex;align-items:center;gap:.55em;min-height:44px;margin-bottom:0}
#rememberDevice input{width:1.1em;height:1.1em;margin:0;accent-color:var(--ink)}
#rememberHint{display:block;margin-bottom:12px}

#gate{width:min(26rem,92vw)}
#gate h2{margin:0 0 .65em}
#gatePasswordLabel{margin-bottom:.2em}
.gate-password{display:flex;align-items:center;gap:.45em}
.gate-password input{min-width:0;flex:1}
#gate #showPassword,#gate #forgot,#accessHelp button,#setupKey{font:inherit;color:var(--ink);min-height:44px}
#gateMsg:empty{display:none}
#gate button[name=go]{width:100%;min-height:46px;margin-top:.55em}
#gate #forgot,#accessHelp button,#setupKey{background:transparent;border:0;text-decoration:underline;text-underline-offset:.18em}
#accessHelp summary{cursor:pointer;min-height:44px;align-content:center}
#accessHelp[open] button,#accessHelp[open] a{display:block;text-align:start}
#accessHelp a{padding:.45em}

.period{min-width:0}
#eyebrow{overflow-wrap:anywhere}
