.today-featured-section,.today-letter-modal,.today-page{--tf-paper:#FAF7F1;--tf-paper-edge:#EFE9DC;--tf-paper-strong:#2A2620;--tf-paper-mute:#6E6558;--tf-paper-soft:#B7AE9C;--tf-hairline:rgba(42, 38, 32, 0.08);--tf-hairline-strong:rgba(42, 38, 32, 0.16);--tf-ink:#2A2620;--tf-ink-faint:rgba(42, 38, 32, 0.55);--tf-stamp:#B85A3E;--tf-cta-bg:var(--tf-paper-strong);--tf-cta-fg:#F7EFE0;--tf-cal-active:var(--tf-paper-strong);--tf-cal-today-underline:var(--tf-stamp)}.tf-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 4px 14px}.tf-section-title{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:17px;font-weight:600;letter-spacing:-.012em;color:var(--text-primary,#1d1d1f)}.tf-section-title svg{color:var(--tf-paper-soft);flex-shrink:0}.tf-more-link{display:inline-flex;align-items:center;gap:2px;font-size:12.5px;letter-spacing:-.005em;color:var(--text-tertiary,#8e8e93);text-decoration:none;padding:4px 2px;border-bottom:1px dotted transparent;transition:color 140ms ease,border-color 140ms ease}.tf-more-link:hover{color:var(--tf-ink);border-bottom-color:var(--tf-hairline-strong)}.tf-more-link svg{transition:transform 140ms ease}.tf-more-link:hover svg{transform:translateX(2px)}.tf-card-list{list-style:none;margin:0;padding:8px 24px 26px 28px;scroll-padding-left:28px;display:flex;flex-direction:row;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.tf-card-list::-webkit-scrollbar{display:none;width:0;height:0}.tf-card-row{display:block;flex:0 0 auto;scroll-snap-align:start}.tf-card{position:relative;display:grid;grid-template-columns:auto 200px;column-gap:28px;padding:12px 14px 12px 4px;height:244px;background:0 0;border:0;border-radius:2px;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:background 160ms ease}.tf-card:hover{background:rgba(0,0,0,.018)}.tf-card:focus-visible{outline:2px solid var(--accent,#6B5CE7);outline-offset:2px}.tf-card-image{position:relative;align-self:center;max-height:220px;max-width:200px;background:var(--bg-tertiary,#f5f5f7);border-radius:0 2px 2px 0;transform:perspective(500px) rotateY(8.6deg);transform-origin:right center;box-shadow:-6px 0 0 rgba(70,60,45,.3),0 1px 0 rgba(0,0,0,.06),0 2px 0 rgba(0,0,0,.04),-4px 8px 14px rgba(0,0,0,.18),inset -2px 0 2px -1px rgba(0,0,0,.06);transition:transform .35s ease-out,box-shadow .35s ease-out,transform-origin .35s ease-out}.tf-card-image::before{content:'';position:absolute;top:0;bottom:0;left:-5px;width:5px;background-color:rgba(70,60,45,.3);background-image:var(--cover-url,none);background-size:auto 100%;background-position:left center;background-repeat:no-repeat;filter:brightness(.72) saturate(.85);border-radius:0;pointer-events:none;z-index:0;transition:opacity .35s ease-out}.tf-card:hover .tf-card-image::before{opacity:0}.tf-card-image img{display:block;height:auto;width:auto;max-height:220px;max-width:200px;border-radius:inherit;position:relative;z-index:1}.tf-card:hover .tf-card-image{transform:perspective(500px) rotateY(0) translateY(-2px);transform-origin:center center;box-shadow:0 2px 0 rgba(0,0,0,.04),0 14px 22px rgba(0,0,0,.22)}.tf-card-text{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;padding:6px 0 6px}.tf-card-eyebrow{margin:0 0 10px;font-size:10.5px;letter-spacing:.16em;color:var(--text-caption,#aeaeb2);font-variant-numeric:tabular-nums;flex-shrink:0}.tf-card-hook{margin:0;font-size:15px;font-weight:600;letter-spacing:-.014em;color:var(--text-primary,#1d1d1f);line-height:1.45;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0}.tf-card-unread{display:none;flex:1 1 0;min-height:0;max-height:200px;margin-top:4px;display:flex;align-items:center;justify-content:center;color:#9a958c;pointer-events:none;overflow:hidden;position:relative;transition:opacity 320ms ease-out,max-height 320ms ease-out,margin 320ms ease-out}.tf-card-unread svg{width:34px;height:34px;display:block;filter:drop-shadow(0 2px 3px rgba(40, 36, 30, .18));animation:tfUnreadFloat 3.8s ease-in-out infinite}.tf-card-unread::after{content:'';position:absolute;left:50%;top:calc(50% + 22px);transform:translateX(-50%);width:28px;height:5px;background:rgba(20,18,14,.28);border-radius:50%;filter:blur(2.5px);pointer-events:none;animation:tfUnreadShadow 3.8s ease-in-out infinite}.tf-card:hover .tf-card-unread svg{filter:drop-shadow(0 4px 7px rgba(40, 36, 30, .26))}.tf-card.is-read .tf-card-unread{animation:none;opacity:0;max-height:0;margin:0;pointer-events:none}.tf-card.is-read .tf-card-unread::after{animation:none;opacity:0}.tf-card.is-read .tf-card-unread svg{animation:none}@media (prefers-reduced-motion:reduce){.tf-card-unread{transition:opacity 160ms}.tf-card-unread svg{animation:none;opacity:.85}.tf-card-unread::after{animation:none;opacity:.22}}.tf-card-fold{position:absolute;right:-2px;bottom:0;display:inline-flex;align-items:center;color:var(--text-caption,#aeaeb2);opacity:0;transition:opacity 140ms ease,transform 140ms ease;pointer-events:none}.tf-card-fold svg{transition:transform 140ms ease}.tf-card-fold-label{display:none}.tf-card:focus-visible .tf-card-fold,.tf-card:hover .tf-card-fold{opacity:1}.tf-card:hover .tf-card-fold svg{transform:translateX(2px)}.tf-card.is-read .tf-card-hook{-webkit-line-clamp:1;font-size:13.5px;font-weight:500;color:var(--text-tertiary,#8e8e93)}.tf-card-preview{display:block;flex:1 1 0;min-height:0;margin:12px 0 0;font-size:12px;line-height:1.65;color:var(--text-secondary,#555);letter-spacing:-.005em;white-space:pre-wrap;word-break:keep-all;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 72%,transparent 100%);mask-image:linear-gradient(to bottom,#000 72%,transparent 100%);animation:tfLetterReveal 360ms ease-out 80ms both}@keyframes tfLetterReveal{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.tf-card-preview{animation:none}}.tf-card.is-read .tf-card-eyebrow::after{content:" · 읽음";letter-spacing:0;color:var(--text-caption,#aeaeb2)}.tf-card:not(.is-read) .tf-card-eyebrow::after{content:" · 새 레터";letter-spacing:0;font-weight:600;color:var(--accent,#6b5ce7)}.tf-card.is-read .tf-card-fold{display:none}.today-letter-modal[hidden]{display:none}.today-letter-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px 16px}.tl-backdrop{position:absolute;inset:0;background:rgba(20,18,14,.5);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);cursor:pointer;animation:tlFade 180ms ease}.tl-paper{position:relative;width:100%;max-width:720px;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);background:var(--tf-paper);color:var(--tf-paper-strong);border:1px solid var(--tf-hairline-strong);border-radius:4px;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 12px 40px -16px rgba(20,18,14,.3);overflow:hidden;animation:tlRise 220ms cubic-bezier(.22,1,.36,1);outline:0}.tl-paper::before{content:'';position:absolute;inset:14px;border:1px dashed var(--tf-hairline-strong);border-radius:2px;pointer-events:none}.tl-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:999px;background:0 0;color:var(--tf-paper-mute);border:1px solid var(--tf-hairline);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:background 140ms ease,color 140ms ease}.tl-close:hover{background:var(--tf-paper-edge);color:var(--tf-paper-strong)}.tl-paper-inner{position:relative;z-index:1;padding:36px 38px calc(28px + env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px)}.tl-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:22px;padding-right:44px}.tl-eyebrow{font-size:11.5px;letter-spacing:.18em;color:var(--tf-paper-soft);text-transform:uppercase}.tl-counter{font-size:11px;letter-spacing:.06em;color:var(--tf-paper-soft);font-variant-numeric:tabular-nums}.tl-body{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:start;margin-bottom:28px}.tl-figure{margin:0;width:240px;background:#fff;border:1px solid var(--tf-hairline);border-radius:2px;padding:14px;box-shadow:0 1px 0 rgba(255,255,255,.7) inset}.tl-image{display:block;width:100%;height:auto;object-fit:contain}.tl-text{min-width:0}.tl-hook{margin:0 0 18px;font-size:26px;font-weight:700;letter-spacing:-.022em;color:var(--tf-ink);line-height:1.32;word-break:keep-all}.tl-letter{font-size:15.5px;line-height:1.9;letter-spacing:-.008em;color:var(--tf-paper-strong);white-space:pre-wrap;word-break:keep-all}.tl-letter p{margin:0 0 .9em;text-indent:.6em}.tl-letter p:first-child{text-indent:0}.tl-letter p:last-child{margin-bottom:0}.tl-letter p:last-child:not(:only-child){margin-top:2.6em;text-indent:0;color:var(--tf-paper-strong)}.tl-meta{margin:22px 0 0;font-size:12.5px;letter-spacing:-.005em;color:var(--tf-paper-mute);padding-top:14px;border-top:1px solid var(--tf-hairline)}.tl-meta-sep{margin:0 6px;color:var(--tf-paper-soft)}.tl-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:28px;padding-top:18px;border-top:1px solid var(--tf-hairline)}.tl-nav{display:inline-flex;align-items:center;gap:6px}.tl-nav-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:0 0;border:1px solid var(--tf-hairline);color:var(--tf-paper-mute);border-radius:999px;cursor:pointer;transition:background 140ms ease,color 140ms ease,border-color 140ms ease}.tl-nav-btn:hover{background:var(--tf-paper-edge);color:var(--tf-paper-strong);border-color:var(--tf-hairline-strong)}.tl-nav-btn:disabled{opacity:.35;cursor:default}.tl-nav-btn:disabled:hover{background:0 0;color:var(--tf-paper-mute);border-color:var(--tf-hairline)}.tl-cta{display:inline-flex;align-items:center;gap:8px;background:var(--tf-cta-bg);color:var(--tf-cta-fg);font-size:14px;font-weight:500;letter-spacing:-.005em;padding:11px 18px;border-radius:2px;text-decoration:none;transition:background 140ms ease,transform 140ms ease}.tl-cta:hover{background:#1a1612}.tl-cta svg{opacity:.8;transition:transform 140ms ease}.tl-cta:hover svg{transform:translateX(2px)}@keyframes tlRise{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tlFade{from{opacity:0}to{opacity:1}}.today-page{max-width:920px;margin:0 auto;padding:28px 20px 80px}.today-page-header{margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--tf-hairline)}.today-page-eyebrow{font-size:11.5px;letter-spacing:.16em;color:var(--tf-paper-soft);text-transform:uppercase;margin:0 0 6px}.today-page-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary,#1d1d1f)}.today-calendar{display:flex;align-items:stretch;gap:4px;margin:0 0 28px;user-select:none}.today-cal-nav{width:36px;display:inline-flex;align-items:center;justify-content:center;background:0 0;border:1px solid var(--tf-hairline);color:var(--tf-paper-mute);border-radius:2px;cursor:pointer;text-decoration:none;transition:background 140ms ease,color 140ms ease,border-color 140ms ease}.today-cal-nav:hover{background:var(--tf-paper-edge);color:var(--tf-paper-strong);border-color:var(--tf-hairline-strong)}.today-cal-nav[aria-disabled=true]{opacity:.3;cursor:default;pointer-events:none}.today-cal-days{flex:1;display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.today-cal-day{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 4px 14px;border:1px solid var(--tf-hairline);border-radius:2px;background:0 0;text-decoration:none;color:var(--text-tertiary);font-variant-numeric:tabular-nums;transition:background 140ms ease,color 140ms ease,border-color 140ms ease}.today-cal-day-wk{font-size:10.5px;letter-spacing:.06em;color:var(--tf-paper-soft);margin-bottom:4px}.today-cal-day-num{font-size:16px;font-weight:600;letter-spacing:-.01em;color:inherit}.today-cal-day[data-active=true]{color:var(--tf-paper-strong);border-color:var(--tf-hairline-strong);cursor:pointer}.today-cal-day[data-active=true]:hover{background:var(--tf-paper-edge)}.today-cal-day[data-active=false]{color:var(--tf-paper-soft);opacity:.55;cursor:not-allowed}.today-cal-day[aria-current=date]{background:var(--tf-paper-strong);color:var(--tf-paper);border-color:var(--tf-paper-strong)}.today-cal-day[aria-current=date] .today-cal-day-wk{color:rgba(247,239,224,.6)}.today-cal-day[aria-current=date]:hover{background:#1a1612}.today-cal-day.is-today:not([aria-current=date]){position:relative}.today-cal-day.is-today:not([aria-current=date])::after{content:'';position:absolute;bottom:5px;width:14px;height:2px;background:var(--tf-cal-today-underline);border-radius:999px}.today-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.today-list-item{display:grid;grid-template-columns:200px 1fr;gap:40px;padding:36px 4px;border-bottom:1px solid var(--tf-hairline);align-items:start}.today-list-item:last-child{border-bottom:none}.today-list-figure{margin:0;width:200px;background:#fff;border:1px solid var(--tf-hairline);border-radius:2px;padding:12px}.today-list-image{display:block;width:100%;height:auto;object-fit:contain}.today-list-image-btn{display:block;width:100%;padding:0;margin:0;background:0 0;border:0;cursor:zoom-in;font:inherit;color:inherit;transition:transform .2s ease}.today-list-image-btn:hover{transform:translateY(-2px)}.today-list-image-btn:focus-visible{outline:2px solid var(--tf-paper-mute);outline-offset:4px;border-radius:2px}.tl-lightbox[hidden]{display:none}.tl-lightbox{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px}.tl-lightbox-backdrop{position:absolute;inset:0;background:rgba(20,18,14,.78);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);cursor:zoom-out;animation:tlLightboxFade 180ms ease}.tl-lightbox-figure{position:relative;margin:0;max-width:min(92vw,720px);max-height:min(92vh,900px);display:flex;flex-direction:column;align-items:center;gap:12px;animation:tlLightboxRise 220ms cubic-bezier(.22,1,.36,1)}.tl-lightbox-img{display:block;max-width:100%;max-height:calc(92vh - 60px);width:auto;height:auto;object-fit:contain;border-radius:2px;box-shadow:0 24px 60px -20px rgba(0,0,0,.55);background:#fff}.tl-lightbox-caption{font-size:13.5px;letter-spacing:-.005em;color:rgba(255,255,255,.86);text-align:center;max-width:92vw;word-break:keep-all;padding:0 4px}.tl-lightbox-close{position:absolute;top:-6px;right:-6px;width:36px;height:36px;border-radius:999px;background:rgba(255,255,255,.92);color:#2a2620;border:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.3);transition:background 140ms ease,transform 140ms ease}.tl-lightbox-close:hover{background:#fff;transform:scale(1.05)}.tl-lightbox-close:focus-visible{outline:2px solid #fff;outline-offset:2px}@keyframes tlLightboxFade{from{opacity:0}to{opacity:1}}@keyframes tlLightboxRise{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.tl-lightbox-backdrop,.tl-lightbox-figure{animation:none}}.today-list-content{min-width:0}.today-list-eyebrow{margin:0 0 6px;font-size:11px;letter-spacing:.14em;color:var(--tf-paper-soft);font-variant-numeric:tabular-nums}.today-list-hook{margin:0 0 14px;font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--tf-ink);line-height:1.34;word-break:keep-all}.today-list-letter{font-size:15px;line-height:1.9;letter-spacing:-.008em;color:var(--tf-paper-strong);white-space:pre-wrap;word-break:keep-all}.today-list-letter[hidden]{display:none}.today-list-letter p{margin:0 0 .9em}.today-list-letter p:last-child{margin-bottom:0}.today-list-letter p:last-child:not(:only-child){margin-top:2.6em}.today-list-sealed{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;margin:6px 0 4px;padding:32px 20px 28px;background:0 0;border:1px dashed var(--tf-hairline-strong);border-radius:3px;color:#9a958c;font:inherit;text-align:center;cursor:pointer;transition:background 160ms ease,border-color 160ms ease,color 160ms ease}.today-list-sealed:hover{background:rgba(42,38,32,.025);border-color:var(--tf-paper-mute);color:var(--tf-paper-strong)}.today-list-sealed:focus-visible{outline:2px solid var(--tf-paper-mute);outline-offset:2px}.today-list-sealed-envelope{display:inline-flex;position:relative}.today-list-sealed-envelope svg{width:56px;height:56px;display:block;filter:drop-shadow(0 3px 5px rgba(40, 36, 30, .18));animation:tfUnreadFloat 3.8s ease-in-out infinite}.today-list-sealed-envelope::after{content:'';position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);width:38px;height:5px;background:rgba(20,18,14,.22);border-radius:50%;filter:blur(3px);animation:tfUnreadShadow 3.8s ease-in-out infinite}.today-list-sealed:hover .today-list-sealed-envelope svg{filter:drop-shadow(0 5px 8px rgba(40, 36, 30, .26))}.today-list-sealed-label{margin-top:20px;font-size:13.5px;font-weight:500;letter-spacing:-.005em;color:var(--tf-paper-strong)}.today-list-sealed-hint{margin-top:4px;font-size:11.5px;letter-spacing:.02em;color:var(--tf-paper-soft)}@media (prefers-reduced-motion:reduce){.today-list-sealed-envelope svg,.today-list-sealed-envelope::after{animation:none}}.today-list-letter.is-revealed{animation:tfLetterReveal 360ms ease-out 60ms both}.today-list-meta{margin:18px 0 0;font-size:12.5px;color:var(--tf-paper-mute)}.today-list-meta-sep{margin:0 6px;color:var(--tf-paper-soft)}.today-list-cta{display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding:9px 16px;background:0 0;border:1px solid var(--tf-hairline-strong);border-radius:2px;color:var(--tf-paper-strong);font-size:12.5px;font-weight:500;letter-spacing:.005em;text-decoration:none;transition:background 180ms ease,border-color 180ms ease}.today-list-cta::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--tf-stamp);opacity:.55;flex-shrink:0;transition:opacity 180ms ease}.today-list-cta:hover{background:var(--tf-paper-edge);border-color:var(--tf-paper-mute)}.today-list-cta:hover::before{opacity:1}.today-list-cta:focus-visible{outline:2px solid var(--tf-paper-mute);outline-offset:2px}.today-list-cta svg{margin-left:-2px;opacity:.55;transition:transform 180ms ease,opacity 180ms ease}.today-list-cta:hover svg{transform:translateX(3px);opacity:1}.today-empty{margin:80px 0;text-align:center;color:var(--tf-paper-soft);font-size:14px}@media (max-width:720px){.tf-section-head{margin-bottom:14px}.tf-card{grid-template-columns:auto 200px;column-gap:22px;padding:10px 12px 10px 8px;height:220px}.tf-card-image{max-height:200px;max-width:170px}.tf-card-image img{max-height:200px;max-width:170px}.tf-card-hook{font-size:14.5px}.tf-card.is-read .tf-card-hook{font-size:13px}.tf-card-fold{opacity:1}.today-letter-modal{padding:0;align-items:stretch}.tl-paper{max-width:100%;height:100vh;max-height:100vh;border-radius:0;border-left:0;border-right:0}.tl-paper::before{inset:10px}.tl-paper-inner{padding:28px 22px 24px}.tl-body{grid-template-columns:1fr;gap:22px;justify-items:center}.tl-figure{width:240px}.tl-text{width:100%}.tl-hook{font-size:22px}.tl-letter{font-size:15px;line-height:1.85}.today-page{padding:22px 16px 60px}.today-page-title{font-size:19px}.today-cal-days{gap:3px}.today-cal-day{padding:9px 2px 11px}.today-cal-day-num{font-size:14px}.today-cal-day-wk{font-size:10px}.today-list-item{grid-template-columns:1fr;gap:20px;padding:28px 0;justify-items:center}.today-list-figure{width:200px}.today-list-content{width:100%}.today-list-hook{font-size:19px}}