.cal-shell{--cal-blush:#ffd9c9;--cal-lavender:#cdb8f2;--cal-gold:#f6d99a;--cal-gold-deep:#d9a441;--cal-ink:#3a2a4a;--cal-ink-dim:#6b5878;--cal-ink-faint:#8f7fa0;--cal-glass:rgba(255,255,255,0.34);--cal-glass-strong:rgba(255,255,255,0.55);--cal-glass-border:rgba(255,255,255,0.65);--cal-glass-locked:rgba(255,255,255,0.16);--f-display:var(--font-cormorant,"Cormorant Garamond",serif);--f-mono:var(--font-jetbrains,ui-monospace,monospace);position:relative;min-height:100dvh;color:var(--cal-ink);font-family:var(--f-display);overflow-x:hidden}.cal-bg{position:fixed;inset:0;z-index:0;background:linear-gradient(160deg,#fff3ea,#fbe6f0 42%,#eee0fb)}.cal-bg:after,.cal-bg:before{content:"";position:absolute;inset:-20%;background:radial-gradient(38% 32% at 18% 22%,color-mix(in oklab,var(--cal-blush) 85%,transparent),transparent 60%),radial-gradient(42% 38% at 82% 18%,color-mix(in oklab,var(--cal-gold) 75%,transparent),transparent 62%),radial-gradient(46% 42% at 50% 88%,color-mix(in oklab,var(--cal-lavender) 80%,transparent),transparent 65%);filter:blur(40px);animation:cal-drift 26s ease-in-out infinite}.cal-bg:after{background:radial-gradient(30% 28% at 70% 70%,color-mix(in oklab,var(--cal-lavender) 65%,transparent),transparent 60%),radial-gradient(34% 30% at 25% 80%,color-mix(in oklab,var(--cal-gold) 55%,transparent),transparent 60%);animation:cal-drift 32s ease-in-out infinite reverse;opacity:.8}@keyframes cal-drift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(3%,-4%) scale(1.08)}}.cal-grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.35;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.05 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.cal-content{position:relative;z-index:2}.cal-glass{background:var(--cal-glass);border:1px solid var(--cal-glass-border);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);box-shadow:0 8px 32px rgba(90,60,110,.14),inset 0 1px 0 rgba(255,255,255,.5);border-radius:20px}.cal-mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--cal-ink-dim)}@media (prefers-reduced-motion:reduce){.cal-bg:after,.cal-bg:before{animation:none}}@media (max-width:640px){.cal-glass{border-radius:16px}}.cal-gate{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px 20px}.cal-gate-card{width:100%;max-width:380px;padding:44px 36px;text-align:center}.cal-gate-card h1{font-weight:300;font-style:italic;font-size:clamp(26px,4vw,34px);margin:10px 0 34px;color:var(--cal-ink)}.cal-gate-card form{display:flex;flex-direction:column;gap:16px}.cal-gate-card input{appearance:none;background:rgba(255,255,255,.5);border:1px solid var(--cal-glass-border);border-radius:12px;padding:14px 16px;font-family:var(--f-display);font-style:italic;font-size:20px;text-align:center;color:var(--cal-ink);outline:none;transition:border-color .3s,background .3s}.cal-gate-card input::placeholder{color:var(--cal-ink-faint)}.cal-gate-card input:focus{border-color:var(--cal-gold-deep);background:rgba(255,255,255,.72)}.cal-gate-card button{appearance:none;border:1px solid var(--cal-gold-deep);background:color-mix(in oklab,var(--cal-gold) 55%,transparent);color:var(--cal-ink);font-family:var(--f-mono);font-size:13px;letter-spacing:.2em;text-transform:uppercase;padding:13px;border-radius:12px;cursor:pointer;transition:background .3s,transform .2s}.cal-gate-card button:hover:not(:disabled){background:color-mix(in oklab,var(--cal-gold) 80%,transparent)}.cal-gate-card button:disabled{opacity:.6;cursor:default}.cal-gate-error{color:#a8447a;font-size:13.5px;font-style:italic;margin:-4px 0 0}.cal-board{max-width:980px;margin:0 auto;padding:56px 24px 140px}.cal-header{text-align:center;margin-bottom:44px}.cal-header h1{font-weight:300;font-style:italic;font-size:clamp(30px,5vw,46px);margin:10px 0 0;color:var(--cal-ink);letter-spacing:-.01em}.cal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:12px}.cal-tile{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;appearance:none;cursor:pointer;color:var(--cal-ink);transition:transform .3s cubic-bezier(.2,.7,.3,1),background .3s,box-shadow .3s}.cal-tile:hover:not(:disabled){transform:translateY(-3px) rotate(-1deg)}.cal-tile:disabled{cursor:default}.cal-tile-date{font-size:10px;opacity:.75}.cal-tile-num{font-family:var(--f-display);font-style:italic;font-size:26px;line-height:1}.cal-tile--pending{opacity:.5;pointer-events:none}.cal-tile--locked{background:var(--cal-glass-locked);color:var(--cal-ink-faint);box-shadow:none;backdrop-filter:blur(6px)}.cal-tile--locked .cal-tile-num{opacity:.3}.cal-tile-lock{width:18px;height:18px;opacity:.5;margin-top:2px}.cal-tile--today{border-color:var(--cal-gold-deep);box-shadow:0 0 0 2px color-mix(in oklab,var(--cal-gold) 60%,transparent),0 8px 32px rgba(90,60,110,.14)}.cal-tile-pulse{position:absolute;inset:-4px;border-radius:inherit;border:1.5px solid var(--cal-gold-deep);animation:cal-pulse 2.2s ease-in-out infinite;pointer-events:none}@keyframes cal-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:.15;transform:scale(1.08)}}.cal-tile--past{background:var(--cal-glass-strong)}.cal-tile--finale{grid-column:span 2;aspect-ratio:2/1;background:linear-gradient(135deg,color-mix(in oklab,var(--cal-gold) 70%,transparent),color-mix(in oklab,var(--cal-blush) 50%,transparent));border-color:var(--cal-gold-deep)}.cal-tile--finale .cal-tile-num{font-size:34px}.cal-tile--finale.cal-tile--locked{background:var(--cal-glass-locked)}.cal-tile-badge{position:absolute;top:6px;right:6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--cal-gold-deep);color:#fff;font-family:var(--f-mono);font-size:10px}.cal-modal-backdrop,.cal-tile-badge{display:flex;align-items:center;justify-content:center}.cal-modal-backdrop{position:fixed;inset:0;z-index:300;background:rgba(58,42,74,.28);backdrop-filter:blur(6px);padding:24px}.cal-modal{position:relative;width:100%;max-width:440px;max-height:84dvh;overflow-y:auto;padding:40px 32px 32px}.cal-modal-close{position:absolute;top:12px;right:14px;appearance:none;background:transparent;border:0;font-size:22px;line-height:1;color:var(--cal-ink-dim);cursor:pointer}.cal-modal-close:hover,.cal-modal-phrase{color:var(--cal-ink)}.cal-modal-phrase{font-family:var(--f-display);font-style:italic;font-size:clamp(22px,3.4vw,27px);line-height:1.4;margin:14px 0 28px}.cal-comment-form{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.cal-comment-form textarea{appearance:none;resize:vertical;background:rgba(255,255,255,.5);border:1px solid var(--cal-glass-border);border-radius:12px;padding:12px 14px;font-family:var(--f-display);font-size:16px;color:var(--cal-ink);outline:none;transition:border-color .3s,background .3s}.cal-comment-form textarea:focus{border-color:var(--cal-gold-deep);background:rgba(255,255,255,.72)}.cal-comment-form button{align-self:flex-end;appearance:none;border:1px solid var(--cal-gold-deep);background:color-mix(in oklab,var(--cal-gold) 55%,transparent);color:var(--cal-ink);font-family:var(--f-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:9px 18px;border-radius:10px;cursor:pointer}.cal-comment-form button:disabled{opacity:.5;cursor:default}.cal-comment-error{color:#a8447a;font-size:13px;font-style:italic;margin:0}.cal-comment-list{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--cal-glass-border);display:flex;flex-direction:column;gap:10px}.cal-comment-list li{background:rgba(255,255,255,.4);border-radius:10px;padding:10px 12px;font-size:14.5px;line-height:1.45;color:var(--cal-ink)}.cal-countdown{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:100;display:flex;gap:12px}.cal-countdown-item{display:flex;align-items:center;gap:8px;padding:10px 18px;white-space:nowrap}.cal-countdown-num{font-family:var(--f-display);font-style:italic;font-size:22px;color:var(--cal-gold-deep)}@media (max-width:640px){.cal-board{padding:40px 16px 150px}.cal-grid{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:9px}.cal-tile-num{font-size:21px}.cal-countdown{flex-direction:column;align-items:center;gap:8px;bottom:16px}.cal-countdown-item{padding:8px 16px}.cal-countdown-num{font-size:18px}.cal-modal{padding:36px 22px 24px}}