:root{--blue:#2045ff;--paper:#f6f6f1;--ink:#141822}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button,a,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #d0d0ce;border-radius:100px;background:transparent;min-width:44px;min-height:44px;padding:10px 20px;color:var(--ink)}button:hover{background:#e4e7ff}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}header{display:flex;justify-content:space-between;align-items:center;padding:25px 5vw;border-bottom:1px solid #d4d4cf;gap:20px}header a{text-decoration:none;color:var(--ink);font-size:24px;font-weight:900;letter-spacing:-1px}header small{display:block;font-size:11px;letter-spacing:7px;margin-top:6px}header>span,.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700}main{max-width:1500px;margin:auto;padding:40px 5vw}h1{font-size:clamp(50px,6vw,90px);line-height:.98;letter-spacing:-4px;margin:24px 0}p{font-size:18px;line-height:1.65}img{display:block;max-width:100%;height:auto}.spread{display:grid;grid-template-columns:1fr 1.05fr;gap:6%;align-items:start}.spread>img,.monthphoto{width:100%;max-height:760px;object-fit:contain}.blue{color:var(--blue)}.covercopy p{max-width:540px}.logo{width:115px;margin:25px 0}.primary{background:var(--blue);color:white;border:0;padding:16px 25px;font-weight:700}.primary:hover{background:#1233d6}.topline{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:32px}.heading{font-size:clamp(28px,3vw,44px);letter-spacing:-1.8px;margin:14px 0}.searchlabel{font-size:12px;min-width:240px}.searchlabel input{display:block;width:100%;margin-top:8px;padding:14px 18px;border:1px solid #c6c6c0;border-radius:24px;background:transparent;font-size:16px}nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:10px}select{font-size:30px;font-weight:700;border:0;background:transparent;max-width:72%;padding:8px;color:var(--ink)}.week,.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.week span{font-size:10px;letter-spacing:1px;text-align:center;padding:14px 0;color:#666}.day{border:0;border-top:1px solid #d6d6d0;border-radius:0;min-height:67px;padding:12px 2px;font-size:20px;position:relative;cursor:default}.day.event{cursor:pointer;font-weight:700}.day.event:after{content:'';display:block;width:6px;height:6px;border-radius:50%;background:var(--blue);margin:5px auto 0}.day.special{background:var(--blue);color:white;border-radius:14px}.day.special:after{background:#dfff70}.hint,.credit{font-size:12px;color:#61615b;line-height:1.5}.credit{margin:12px 0}.memories{border-top:1px solid #ccc;margin:25px 0}.memory{border:0;border-bottom:1px solid #d4d4ce;border-radius:0;display:block;text-align:left;width:100%;padding:15px 3px;line-height:1.4;font-size:15px}.memory b{display:inline-block;width:30px;color:var(--blue)}footer{margin-top:45px;padding-top:25px;border-top:1px solid #ccc;display:flex;justify-content:space-between;gap:20px;align-items:center}footer span{font-size:10px;letter-spacing:1px}#results:not(:empty){background:white;border:1px solid #ddd;border-radius:20px;padding:15px;margin-bottom:25px;max-height:300px;overflow:auto}#results button{display:block;border:0;border-radius:8px;text-align:left;width:100%}dialog{padding:0;border:0;border-radius:28px;width:calc(100% - 32px);max-width:920px;max-height:92dvh;background:var(--paper);color:var(--ink);overflow:auto}dialog::backdrop{background:#101726aa;backdrop-filter:blur(5px)}.close{position:sticky;top:10px;float:right;margin:10px 10px -54px 0;z-index:5;background:var(--paper);font-size:25px;padding:0;width:44px}.modalgrid{display:grid;grid-template-columns: .9fr 1fr;align-items:start}.modalphoto{width:100%;height:auto;object-fit:contain;align-self:center}.modaltext{padding:65px 30px 35px;position:relative;overflow:hidden;isolation:isolate}.modaltext h2{font-size:34px;line-height:1.1;letter-spacing:-1px}.modaltext p{font-size:18px;line-height:1.6}.modaltext .eyebrow{font-size:12px}.modaltext .note{font-size:13px;color:#666}.party{position:absolute;width:8px;height:15px;top:-25px;z-index:-1;animation:fall 3s linear forwards;pointer-events:none}@keyframes fall{to{transform:translateY(700px) rotate(700deg);opacity:0}}.anniversary{text-align:center;padding:60px 24px 30px}.anniversary>.logo{width:190px;margin:0 auto 20px}.anniversary h2{font-size:34px}.countries{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}.countries img{width:100%;height:130px;object-fit:contain}.countries span{font-size:12px}.editors{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:60px 0;font-size:12px;letter-spacing:1px}.editors h2{font-size:32px;letter-spacing:-1px}.signature{color:#777;font-size:15px}#ending{max-width:850px;margin:30px auto} [hidden]{display:none!important}@media(max-width:700px){header{padding:20px 6vw}header a{font-size:19px}header>span{font-size:9px;max-width:90px;text-align:right}main{padding:25px 6vw}.spread{grid-template-columns:1fr;gap:30px}h1{letter-spacing:-2px}.topline{display:block}.searchlabel{display:block;margin-top:25px}.monthphoto{max-height:520px}.week span{font-size:9px}.day{min-height:58px;font-size:19px}.modalgrid{grid-template-columns:1fr}.modalphoto{max-height:43dvh}.modaltext{padding:35px 24px}.modaltext h2{font-size:29px}.countries{grid-template-columns:repeat(2,1fr)}footer{align-items:flex-start;flex-direction:column}.editors{grid-template-columns:1fr}.covercopy h1{font-size:64px}select{font-size:25px}}@media(prefers-reduced-motion:reduce){.party{animation:none;display:none}}

.week span:nth-child(n+6){color:var(--blue);background:#e9edff}.day.weekend{background:#e9edff;color:#2545ba}.day.weekend.special{background:var(--blue);color:white}.day:disabled{opacity:1;color:var(--ink)}.day.weekend:disabled{color:#2545ba}

.holiday-label{display:block;font-size:10px;font-weight:400;line-height:1.2;color:#986237;margin:5px 2px 0;overflow-wrap:anywhere}.day.observance{box-shadow:inset 0 -2px #d5b496}.holiday-row{font-size:14px;color:#80502e;margin:0;padding:12px 3px;border-bottom:1px solid #ded8ce;line-height:1.4}.holiday-row b{margin-right:6px}.day.special .holiday-label{color:white}@media(max-width:700px){.holiday-label{font-size:9px}.day.observance{padding-left:1px;padding-right:1px}}
