/* 生活麻吉 components — generated from the LifeMochi design system */
:root {
	--radius-sm: 8px; --radius-md: 14px; --radius-lg: 24px; --radius-pill: 999px;
}
@media (prefers-color-scheme: dark) {
	:root:root, :root body {
		--wp--preset--color--surface-000: #26211c;
		--wp--preset--color--surface-100: #1c1815;
		--wp--preset--color--surface-200: #15120f;
		--wp--preset--color--line: #3a332c;
		--wp--preset--color--line-strong: #7a6e60;
		--wp--preset--color--ink: #f3ece2;
		--wp--preset--color--ink-muted: #c0b4a6;
		--wp--preset--color--brand: #ee8f84;
		--wp--preset--color--on-brand: #1c1815;
		--wp--preset--color--brand-soft: #3d2522;
		--wp--preset--color--eat: #f29a63;
		--wp--preset--color--eat-soft: #3b2619;
		--wp--preset--color--health: #8fc897;
		--wp--preset--color--health-soft: #1f3223;
		--wp--preset--color--work: #a2b6ec;
		--wp--preset--color--work-soft: #212a42;
		--wp--preset--color--flower: #eb99c1;
		--wp--preset--color--flower-soft: #3b2130;
		--wp--preset--color--focus: #8fb3f5;
		--wp--preset--shadow--soft: 0 1px 2px rgba(0,0,0,0.4), 0 6px 16px rgba(0,0,0,0.3);
		--wp--preset--shadow--lift: 0 2px 4px rgba(0,0,0,0.45), 0 12px 28px rgba(0,0,0,0.4);
		color-scheme: dark;
	}
}

body { background: var(--wp--preset--color--surface-100); color: var(--wp--preset--color--ink); font-family: var(--wp--preset--font-family--sans); }
.lm-caption { font-size: 12px; line-height: 18px; font-weight: 500; color: var(--wp--preset--color--ink-muted); }
.lm-row { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--3); align-items: center; padding: var(--wp--preset--spacing--4); }
.lm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--wp--preset--spacing--6); padding: var(--wp--preset--spacing--4); }

/* section hue pairs */
.lm-sec-eat { --sec: var(--wp--preset--color--eat); --sec-soft: var(--wp--preset--color--eat-soft); }
.lm-sec-health { --sec: var(--wp--preset--color--health); --sec-soft: var(--wp--preset--color--health-soft); }
.lm-sec-work { --sec: var(--wp--preset--color--work); --sec-soft: var(--wp--preset--color--work-soft); }
.lm-sec-flower { --sec: var(--wp--preset--color--flower); --sec-soft: var(--wp--preset--color--flower-soft); }

/* focus */
.lm-btn:focus-visible, .lm-card:focus-visible, .lm-nav-link:focus-visible, .lm-wordmark:focus-visible { outline: 2px solid var(--wp--preset--color--focus); outline-offset: 2px; }

/* Button */
.lm-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--wp--preset--spacing--2); font-family: var(--wp--preset--font-family--sans); font-size: 14px; line-height: 20px; font-weight: 500; border-radius: var(--radius-md); border: 1px solid transparent; cursor: pointer; text-decoration: none; transition: transform 150ms ease-out, background-color 150ms ease-out; }
.lm-btn-md { padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--6); }
.lm-btn-sm { padding: var(--wp--preset--spacing--1) var(--wp--preset--spacing--4); min-height: 32px; }
.lm-btn-primary { background: var(--wp--preset--color--brand); color: var(--wp--preset--color--on-brand); }
.lm-btn-primary:hover { transform: translateY(-1px); }
.lm-btn-secondary { background: var(--wp--preset--color--surface-000); color: var(--wp--preset--color--brand); border-color: var(--wp--preset--color--line-strong); }
.lm-btn-secondary:hover { background: var(--wp--preset--color--brand-soft); }
.lm-btn-ghost { background: transparent; color: var(--wp--preset--color--brand); }
.lm-btn-ghost:hover { background: var(--wp--preset--color--brand-soft); }
.lm-btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }

/* SectionTag */
.lm-tag { display: inline-flex; align-items: center; padding: 2px var(--wp--preset--spacing--3); border-radius: var(--radius-pill); background: var(--sec-soft); color: var(--sec); font-size: 12px; line-height: 18px; font-weight: 500; white-space: nowrap; }

/* Cards */
.lm-card { display: flex; flex-direction: column; background: var(--wp--preset--color--surface-000); border: 1px solid var(--wp--preset--color--line); box-shadow: var(--wp--preset--shadow--soft); color: var(--wp--preset--color--ink); text-decoration: none; transition: transform 150ms ease-out, box-shadow 150ms ease-out; }
.lm-card:hover { transform: translateY(-2px); box-shadow: var(--wp--preset--shadow--lift); }
@media (prefers-reduced-motion: reduce) { .lm-card, .lm-btn { transition: none; } .lm-card:hover, .lm-btn-primary:hover { transform: none; } }

.lm-tool { border-radius: var(--radius-lg); overflow: hidden; }
.lm-tool-band { background: var(--sec-soft); padding: var(--wp--preset--spacing--6) var(--wp--preset--spacing--6) var(--wp--preset--spacing--4); }
.lm-tool-band .lm-tag { background: var(--wp--preset--color--surface-000); }
.lm-tool-body { padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--6) var(--wp--preset--spacing--6); display: flex; flex-direction: column; gap: var(--wp--preset--spacing--2); flex: 1; }
.lm-tool-title { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: 22px; line-height: 30px; font-weight: 800; }
.lm-tool-desc { margin: 0; font-size: 14px; line-height: 22px; color: var(--wp--preset--color--ink-muted); flex: 1; }
.lm-tool-cta { margin-top: var(--wp--preset--spacing--2); font-size: 14px; line-height: 20px; font-weight: 500; color: var(--wp--preset--color--brand); }

.lm-article { border-radius: var(--radius-md); padding: var(--wp--preset--spacing--6); gap: var(--wp--preset--spacing--2); }
.lm-article-meta { display: flex; align-items: center; gap: var(--wp--preset--spacing--2); }
.lm-article-title { margin: 0; font-size: 18px; line-height: 28px; font-weight: 700; }
.lm-article-excerpt { margin: 0; font-size: 14px; line-height: 22px; color: var(--wp--preset--color--ink-muted); }

/* AdSlot */
.lm-ad { position: relative; display: flex; align-items: center; justify-content: center; background: var(--wp--preset--color--surface-200); border-radius: var(--radius-sm); padding: var(--wp--preset--spacing--6) var(--wp--preset--spacing--4) var(--wp--preset--spacing--4); }
.lm-ad-label { position: absolute; top: var(--wp--preset--spacing--1); left: var(--wp--preset--spacing--2); font-size: 12px; line-height: 18px; font-weight: 500; color: var(--wp--preset--color--ink-muted); }
.lm-ad-placeholder { font-size: 12px; line-height: 18px; color: var(--wp--preset--color--ink-muted); }
.lm-ad-rectangle { max-width: 300px; }

/* SiteHeader */
.lm-header { display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--4); padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--6); background: var(--wp--preset--color--surface-000); border-bottom: 1px solid var(--wp--preset--color--line); position: sticky; top: 0; }
.lm-wordmark { display: inline-flex; align-items: center; gap: 4px; font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 22px; line-height: 28px; color: var(--wp--preset--color--ink); text-decoration: none; letter-spacing: -.01em; }
.lm-wordmark-mascot { width: 36px; height: 36px; object-fit: contain; margin-right: 4px; }
.lm-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--brand); display: inline-block; }
.lm-wordmark-en { margin-left: 4px; font-size: 12px; line-height: 18px; font-weight: 600; color: var(--wp--preset--color--ink-muted); letter-spacing: 0; }
.lm-nav { display: flex; gap: var(--wp--preset--spacing--1); flex-wrap: wrap; }
.lm-nav-link { padding: var(--wp--preset--spacing--1) var(--wp--preset--spacing--3); border-radius: var(--radius-pill); font-size: 14px; line-height: 20px; font-weight: 500; color: var(--wp--preset--color--ink); text-decoration: none; }
.lm-nav-link:hover { background: var(--sec-soft); }
.lm-nav-link.is-current { background: var(--sec-soft); color: var(--sec); }

/* ToolCard status (F-02) */
.lm-tool-band { display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--2); }
.lm-status { font-size: 12px; line-height: 18px; font-weight: 500; color: var(--wp--preset--color--ink-muted); }
.lm-card.is-soon { box-shadow: none; cursor: default; }
.lm-card.is-soon:hover { transform: none; box-shadow: none; }
.lm-tool-cta.is-soon { color: var(--wp--preset--color--ink-muted); }
.lm-tool-links { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--2) var(--wp--preset--spacing--4); }
.lm-tool-links .lm-tool-cta { text-decoration: none; padding: var(--wp--preset--spacing--2) 0; }
.lm-tool-links .lm-tool-cta:hover { text-decoration: underline; }
.lm-tool-cta-secondary { color: var(--wp--preset--color--ink-muted); }

/* Notice */
.lm-notice { background: var(--wp--preset--color--surface-200); border: 1px solid var(--wp--preset--color--line); border-radius: var(--radius-sm); padding: var(--wp--preset--spacing--4); display: flex; flex-direction: column; gap: var(--wp--preset--spacing--1); }
.lm-notice-title { font-size: 14px; line-height: 20px; font-weight: 700; color: var(--wp--preset--color--ink); }
.lm-notice-text { margin: 0; font-size: 14px; line-height: 22px; color: var(--wp--preset--color--ink-muted); }
.lm-notice-alcohol .lm-notice-text { color: var(--wp--preset--color--ink); font-weight: 500; }

/* SourceList */
.lm-sources { border-top: 1px solid var(--wp--preset--color--line); padding-top: var(--wp--preset--spacing--6); }
.lm-sources-title { margin: 0 0 var(--wp--preset--spacing--2); font-size: 18px; line-height: 28px; font-weight: 700; }
.lm-sources-list { margin: 0; padding-left: 1.5em; font-size: 14px; line-height: 22px; color: var(--wp--preset--color--ink-muted); }
.lm-sources-list a, .lm-report { color: var(--wp--preset--color--brand); }
.lm-sources-foot { display: flex; justify-content: space-between; align-items: center; gap: var(--wp--preset--spacing--4); margin-top: var(--wp--preset--spacing--4); }
.lm-report { font-size: 14px; line-height: 20px; font-weight: 500; }
.lm-sources a:focus-visible { outline: 2px solid var(--wp--preset--color--focus); outline-offset: 2px; }

/* ChangelogEntry */
.lm-log { display: grid; grid-template-columns: 96px 1fr; gap: var(--wp--preset--spacing--4); padding: var(--wp--preset--spacing--4) 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.lm-log-date { font-size: 12px; line-height: 28px; font-weight: 500; color: var(--wp--preset--color--ink-muted); font-variant-numeric: tabular-nums; }
.lm-log-head { display: flex; align-items: center; gap: var(--wp--preset--spacing--2); flex-wrap: wrap; }
.lm-log-title { margin: 0; font-size: 16px; line-height: 28px; font-weight: 700; }
.lm-log-text { font-size: 14px; line-height: 22px; color: var(--wp--preset--color--ink-muted); }
@media (max-width: 480px) { .lm-log { grid-template-columns: 1fr; gap: 0; } }
.lm-log-text ul { margin: var(--wp--preset--spacing--2) 0 0; padding-left: 1.25em; }
.lm-log-text li + li { margin-top: 4px; }
/* Guard against wpautop stray paragraphs inside raw changelog HTML */
.lm-log > p:empty { display: none; }
.lm-log-head > p { display: contents; }

/* WordPress glue */
body { margin: 0; }
.lm-header-wrap { position: sticky; top: 0; z-index: 10; }
.admin-bar .lm-header-wrap { top: 32px; }
@media (max-width: 782px) { .admin-bar .lm-header-wrap { top: 46px; } }
a.lm-card, a.lm-card:hover { text-decoration: none; }
.lm-tool-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--wp--preset--spacing--6); }
@media (max-width: 600px) { .lm-tool-grid { gap: var(--wp--preset--spacing--4); } }
.lm-hero h1 { font-family: var(--wp--preset--font-family--display); font-size: 48px; line-height: 56px; font-weight: 800; letter-spacing: -0.01em; margin: 0; }
@media (max-width: 600px) { .lm-hero h1 { font-size: 36px; line-height: 44px; } }
.lm-hero p { color: var(--wp--preset--color--ink-muted); margin: 0; }
.lm-dot { margin-left: 2px; }
.wp-block-site-title a { display: inline-flex; align-items: baseline; gap: 4px; }
.lm-footer a { color: var(--wp--preset--color--ink); }
.lm-footer-links { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--2) var(--wp--preset--spacing--4); list-style: none; padding: 0; margin: 0; font-size: 14px; }
.lm-footer-tools { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--wp--preset--spacing--2) var(--wp--preset--spacing--4); margin-bottom: var(--wp--preset--spacing--4); padding-bottom: var(--wp--preset--spacing--4); border-bottom: 1px solid var(--wp--preset--color--line); }
.lm-footer-label { font-size: 12px; line-height: 18px; font-weight: 700; color: var(--wp--preset--color--ink-muted); }
.wp-element-button:focus-visible, a:focus-visible { outline: 2px solid var(--wp--preset--color--focus); outline-offset: 2px; }
.wp-block-post-title a { color: var(--wp--preset--color--ink); text-decoration: none; }

.lm-wordmark { white-space: nowrap; flex-shrink: 0; }
@media (max-width: 480px) { .lm-wordmark-en { display: none; } .lm-wordmark-mascot { width: 32px; height: 32px; } .lm-header { padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4); } .lm-nav-link { padding: var(--wp--preset--spacing--1) var(--wp--preset--spacing--2); } }

/* LifeMochi 1.3 interactive editorial layer */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
.lm-reading-progress { position: fixed; inset: 0 0 auto; height: 3px; background: var(--wp--preset--color--brand); transform: scaleX(0); transform-origin: left center; z-index: 99999; pointer-events: none; }
.lm-header { backdrop-filter: blur(14px); background: color-mix(in srgb, var(--wp--preset--color--surface-000) 88%, transparent); z-index: 20; }
.lm-nav-featured { background: var(--wp--preset--color--brand-soft); color: var(--wp--preset--color--brand); }
.lm-home { padding-top: 0; }
.lm-home-section { margin-top: clamp(72px, 10vw, 128px); }
.lm-eyebrow { margin: 0 0 12px; color: var(--wp--preset--color--brand); font-size: 12px; line-height: 1.4; font-weight: 800; letter-spacing: .14em; }
.lm-hero-interactive { min-height: min(760px, calc(100vh - 73px)); display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); align-items: center; gap: clamp(32px, 7vw, 96px); padding: clamp(64px, 10vw, 128px) 0 48px; position: relative; isolation: isolate; }
.lm-hero-interactive::before { content: ''; position: absolute; width: 38vw; height: 38vw; max-width: 560px; max-height: 560px; right: -11%; top: 10%; border-radius: 46% 54% 62% 38% / 51% 38% 62% 49%; background: radial-gradient(circle at 35% 30%, #fffdf8 0 18%, var(--wp--preset--color--brand-soft) 56%, #f1d8c8 100%); opacity: .78; z-index: -1; animation: lm-blob 10s ease-in-out infinite alternate; }
.lm-hero-copy h1 { margin: 0; max-width: 720px; font-family: var(--wp--preset--font-family--display); font-size: clamp(48px, 6.4vw, 88px); line-height: 1.08; letter-spacing: -.045em; font-weight: 800; }
.lm-hero-copy h1 span { color: var(--wp--preset--color--brand); }
.lm-hero-lead { max-width: 640px; margin: 28px 0 0; color: var(--wp--preset--color--ink-muted); font-size: clamp(17px, 1.6vw, 21px); line-height: 1.8; }
.lm-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 32px; }
.lm-text-link { color: var(--wp--preset--color--ink); text-decoration: none; font-weight: 700; }
.lm-text-link span { display: inline-block; transition: transform .2s ease; }
.lm-text-link:hover span { transform: translateX(4px); }
.lm-hero-stage { min-height: 460px; position: relative; display: grid; place-items: center; }
.lm-mascot-button { appearance: none; border: 0; padding: 0; background: transparent; cursor: pointer; position: relative; z-index: 2; filter: drop-shadow(0 24px 34px rgba(91, 58, 36, .15)); }
.lm-hero-mascot { display: block; width: min(33vw, 430px); min-width: 290px; height: auto; transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.lm-mascot-button:hover .lm-hero-mascot { transform: translateY(-10px) rotate(-2deg) scale(1.025); }
.lm-mascot-button.is-bouncing { animation: lm-bounce .48s ease; }
.lm-speech { position: absolute; top: 4%; right: 0; max-width: 230px; padding: 14px 18px; border: 1px solid var(--wp--preset--color--line); border-radius: 20px 20px 4px 20px; background: var(--wp--preset--color--surface-000); box-shadow: var(--wp--preset--shadow--soft); font-size: 14px; line-height: 1.6; z-index: 3; }
.lm-stage-hint { position: absolute; bottom: 3%; margin: 0; color: var(--wp--preset--color--ink-muted); font-size: 12px; letter-spacing: .08em; }
.lm-orbit { position: absolute; border-radius: 50%; border: 1px dashed color-mix(in srgb, var(--wp--preset--color--brand) 35%, transparent); animation: lm-spin 18s linear infinite; }
.lm-orbit::after { content: ''; position: absolute; width: 11px; height: 11px; border-radius: 50%; background: var(--wp--preset--color--brand); left: 50%; top: -6px; }
.lm-orbit-one { width: 380px; height: 380px; }
.lm-orbit-two { width: 300px; height: 300px; animation-duration: 13s; animation-direction: reverse; border-color: color-mix(in srgb, var(--wp--preset--color--health) 32%, transparent); }
.lm-orbit-two::after { background: var(--wp--preset--color--health); }
.lm-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 28px; }
.lm-section-head h2 { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: clamp(30px, 4vw, 48px); line-height: 1.2; letter-spacing: -.025em; }
.lm-section-head > p { max-width: 430px; margin: 0; color: var(--wp--preset--color--ink-muted); }
.lm-tool-grid { perspective: 1000px; }
.lm-tool { position: relative; min-height: 280px; transform-style: preserve-3d; }
.lm-tool::after, .lm-interactive-card::after { content: ''; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(circle at var(--lm-glow-x,50%) var(--lm-glow-y,50%), rgba(255,255,255,.7), transparent 38%); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.lm-tool:hover::after, .lm-interactive-card:hover::after { opacity: .65; }
.lm-tool-band { min-height: 54px; }
.lm-tool-icon { color: var(--sec); font-size: 18px; letter-spacing: .16em; transition: transform .25s ease; }
.lm-tool:hover .lm-tool-icon { transform: rotate(12deg) scale(1.15); }
.lm-tool-cta { transition: letter-spacing .2s ease; }
.lm-tool:hover .lm-tool-cta { letter-spacing: .05em; }
.lm-tilt-ready:hover { transform: perspective(900px) rotateX(var(--lm-rx,0deg)) rotateY(var(--lm-ry,0deg)) translateY(-7px); }
.lm-topic-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.lm-topic-pill { --sec: var(--wp--preset--color--brand); --sec-soft: var(--wp--preset--color--brand-soft); display: flex; align-items: center; justify-content: space-between; min-height: 104px; padding: 20px 22px; border: 1px solid var(--wp--preset--color--line); border-radius: 22px; background: var(--wp--preset--color--surface-000); color: var(--wp--preset--color--ink); text-decoration: none; font: 800 21px/1.2 var(--wp--preset--font-family--display); transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.lm-topic-pill span { align-self: flex-start; color: var(--sec); font: 700 11px/1 var(--wp--preset--font-family--sans); }
.lm-topic-pill:hover { transform: translateY(-5px); background: var(--sec-soft); border-color: var(--sec); text-decoration: none; }
.lm-log-teaser { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: clamp(28px, 5vw, 56px); border-radius: 28px; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--surface-000); }
.lm-log-teaser h2 { margin: 0; color: inherit; font-size: clamp(28px, 4vw, 44px); }
.lm-log-teaser p:not(.lm-eyebrow) { max-width: 650px; margin-bottom: 0; color: #d9cfc4; }
.lm-log-teaser .lm-btn-secondary { flex-shrink: 0; }
.lm-reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
.lm-reveal[data-delay='1'] { transition-delay: .12s; }
.lm-reveal.is-visible { opacity: 1; transform: none; }

/* Dedicated content pages */
.lm-page-hero { padding: clamp(64px, 9vw, 112px) 0 40px; border-bottom: 1px solid var(--wp--preset--color--line); }
.lm-page-hero h1 { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: clamp(44px, 7vw, 82px); line-height: 1.08; letter-spacing: -.04em; }
.lm-page-hero p:last-child { max-width: 680px; color: var(--wp--preset--color--ink-muted); font-size: 18px; }
.lm-page-main { padding-top: 36px; }
.lm-filter-bar { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 32px; }
.lm-filter { appearance: none; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; background: var(--wp--preset--color--surface-000); color: var(--wp--preset--color--ink); padding: 9px 16px; font: 700 14px/1 var(--wp--preset--font-family--sans); cursor: pointer; }
.lm-filter:hover, .lm-filter[aria-pressed='true'] { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--surface-000); border-color: var(--wp--preset--color--ink); }
.lm-says-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.lm-say-card { min-height: 230px; padding: 28px; border: 1px solid var(--wp--preset--color--line); border-radius: 24px; background: var(--wp--preset--color--surface-000); position: relative; overflow: hidden; }
.lm-say-card[hidden] { display: none; }
.lm-say-card::before { content: ''; position: absolute; width: 130px; height: 130px; right: -35px; bottom: -45px; border-radius: 50%; background: var(--sec-soft); }
.lm-say-card h2 { margin: 16px 0 10px; font-size: 27px; }
.lm-say-card p { color: var(--wp--preset--color--ink-muted); }
.lm-say-card a { font-weight: 700; }
.lm-changelog-wrap { max-width: 820px; }
.lm-changelog-wrap .lm-log { grid-template-columns: 130px 1fr; padding: 28px 0; margin-block-start: 0; }
.lm-changelog-wrap .lm-log-date { font-size: 14px; }
.lm-changelog-wrap .lm-log-title { font-size: 20px; }
.lm-log-intro { margin: 0 0 var(--wp--preset--spacing--2); color: var(--wp--preset--color--ink-muted); }
.lm-log-text a { color: var(--wp--preset--color--brand); }
@media (max-width: 480px) { .lm-changelog-wrap .lm-log { grid-template-columns: 1fr; gap: 0; } }

@keyframes lm-spin { to { transform: rotate(360deg); } }
@keyframes lm-bounce { 35% { transform: translateY(-12px) scale(1.02,.97); } 70% { transform: translateY(3px) scale(.98,1.02); } }
@keyframes lm-blob { to { transform: translate(-18px, 18px) rotate(9deg); border-radius: 58% 42% 39% 61% / 41% 54% 46% 59%; } }
@media (min-width: 901px) { .lm-hero-copy h1 { font-size: clamp(52px, 5.2vw, 76px); } }
@media (max-width: 900px) { .lm-hero-interactive { grid-template-columns: 1fr; padding-top: 72px; } .lm-hero-stage { min-height: 390px; } .lm-hero-mascot { width: min(70vw, 380px); } .lm-topic-row { grid-template-columns: repeat(2,1fr); } .lm-nav { max-width: 62%; justify-content: flex-end; } }
@media (max-width: 640px) { html { scroll-behavior: auto; } .lm-header { align-items: flex-start; } .lm-nav { max-width: 64%; gap: 2px; } .lm-nav-link { font-size: 12px; } .lm-hero-interactive { min-height: 0; padding-top: 56px; } .lm-hero-stage { min-height: 330px; } .lm-speech { right: 2%; top: 0; max-width: 180px; } .lm-orbit-one { width: 310px; height: 310px; } .lm-orbit-two { width: 250px; height: 250px; } .lm-section-head { align-items: flex-start; flex-direction: column; gap: 12px; } .lm-topic-row, .lm-says-grid { grid-template-columns: 1fr; } .lm-log-teaser { align-items: flex-start; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .lm-orbit, .lm-hero-interactive::before { animation: none; } .lm-reveal { opacity: 1; transform: none; transition: none; } .lm-mascot-button:hover .lm-hero-mascot, .lm-tilt-ready:hover { transform: none; } }

/* Article body: tables, code and quotes inside post content */
.wp-block-post-content table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 22px; display: block; overflow-x: auto; }
.wp-block-post-content th, .wp-block-post-content td { padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--3); border-bottom: 1px solid var(--wp--preset--color--line); text-align: left; vertical-align: top; }
.wp-block-post-content th { background: var(--wp--preset--color--surface-200); font-weight: 700; white-space: nowrap; }
.wp-block-post-content pre { background: var(--wp--preset--color--surface-200); border: 1px solid var(--wp--preset--color--line); border-radius: var(--radius-sm); padding: var(--wp--preset--spacing--4); overflow-x: auto; font-size: 13px; line-height: 20px; }
.wp-block-post-content :not(pre) > code { background: var(--wp--preset--color--surface-200); border-radius: 4px; padding: 1px 6px; font-size: 0.9em; }
.wp-block-post-content blockquote { margin-inline: 0; padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4); background: var(--wp--preset--color--surface-000); border: 1px solid var(--wp--preset--color--line); border-radius: var(--radius-sm); color: var(--wp--preset--color--ink-muted); }
.wp-block-post-content blockquote p { margin: 0; }

/* TimeCraft tool page */
.lm-tc { padding-bottom: var(--wp--preset--spacing--12); }
.lm-tc-crumbs { padding-top: var(--wp--preset--spacing--6); font-size: 12px; line-height: 18px; color: var(--wp--preset--color--ink-muted); }
.lm-tc-crumbs a { color: inherit; }
.lm-tc-hero { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--12); padding: var(--wp--preset--spacing--8) 0 var(--wp--preset--spacing--12); }
.lm-tc-hero-copy { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--wp--preset--spacing--4); }
.lm-tc-hero h1 { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: 36px; line-height: 44px; font-weight: 800; }
.lm-tc-hero h1 span { color: var(--sec); }
.lm-tc-lead { margin: 0; color: var(--wp--preset--color--ink-muted); font-size: 18px; line-height: 30px; }
.lm-tc-badges { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--2); margin: 0; padding: 0; list-style: none; }
.lm-tc-badges li { padding: 4px 12px; border: 1px solid var(--wp--preset--color--line); border-radius: var(--radius-pill); background: var(--wp--preset--color--surface-000); font-size: 12px; line-height: 18px; font-weight: 500; }
.lm-tc-actions { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--3); }
.lm-tc-btn-primary { background: var(--sec); color: var(--wp--preset--color--surface-000); font-weight: 700; }
.lm-tc-btn-primary:hover { transform: translateY(-1px); color: var(--wp--preset--color--surface-000); }
.lm-btn.lm-btn-secondary { text-decoration: none; }
.lm-tc .lm-caption a, .lm-tc-data a { color: var(--sec); }

.lm-tc-demo { flex: 1 1 460px; min-width: 0; margin: 0; padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--6); background: var(--wp--preset--color--surface-000); border: 1px solid var(--wp--preset--color--line); border-radius: var(--radius-lg); box-shadow: var(--wp--preset--shadow--soft); }
.lm-tc-demo-head { display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--2); padding-bottom: var(--wp--preset--spacing--3); }
.lm-tc-demo-title { font-size: 14px; line-height: 20px; font-weight: 700; }
.lm-tc-scope { display: flex; gap: 4px; }
.lm-tc-scope button { min-height: 32px; padding: 0 12px; border: 1px solid var(--wp--preset--color--line); border-radius: var(--radius-pill); background: var(--wp--preset--color--surface-000); color: var(--wp--preset--color--ink); font: 700 12px/18px var(--wp--preset--font-family--sans); cursor: pointer; }
.lm-tc-scope button[aria-pressed='true'] { background: var(--sec); border-color: var(--sec); color: var(--wp--preset--color--surface-000); }
.lm-tc-scope button:focus-visible, .lm-tc-faq summary:focus-visible { outline: 2px solid var(--wp--preset--color--focus); outline-offset: 2px; }
.lm-tc-week { display: grid; grid-template-columns: 44px repeat(5, minmax(0, 1fr)); grid-template-rows: 24px repeat(16, 18px); column-gap: 6px; row-gap: 2px; font-size: 11px; line-height: 16px; }
.lm-tc-day { grid-row: 1; text-align: center; font-weight: 700; color: var(--wp--preset--color--ink-muted); }
.lm-tc-time { grid-column: 1; color: var(--wp--preset--color--ink-muted); }
.lm-tc-block { overflow: hidden; padding: 2px 6px; border-radius: 6px; background: var(--sec-soft); color: var(--sec); font-weight: 700; transition: opacity 150ms ease-out; }
.lm-tc-block.is-personal { background: var(--wp--preset--color--brand-soft); color: var(--wp--preset--color--brand); }
.lm-tc-demo[data-scope='work'] .lm-tc-block:not([data-scope='work']), .lm-tc-demo[data-scope='personal'] .lm-tc-block:not([data-scope='personal']) { opacity: .25; }
.lm-tc-demo figcaption { display: flex; justify-content: space-between; gap: var(--wp--preset--spacing--2); padding-top: var(--wp--preset--spacing--3); font-size: 12px; line-height: 18px; color: var(--wp--preset--color--ink-muted); }

.lm-tc-section { padding: var(--wp--preset--spacing--12) 0 0; }
.lm-tc-section h2, .lm-tc-panel h2 { margin: 0 0 var(--wp--preset--spacing--6); font-size: 28px; line-height: 40px; font-weight: 700; }
.lm-tc .lm-eyebrow { color: var(--sec); }
.lm-tc-features, .lm-tc-steps { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--wp--preset--spacing--6); }
.lm-tc-feature { border-radius: var(--radius-lg); display: flex; flex-direction: column; gap: var(--wp--preset--spacing--2); padding: var(--wp--preset--spacing--6); color: var(--sec); }
.lm-tc-feature h3, .lm-tc-steps h3 { margin: 0; font-size: 18px; line-height: 28px; font-weight: 700; color: var(--wp--preset--color--ink); }
.lm-tc-feature p, .lm-tc-steps p { margin: 0; font-size: 14px; line-height: 22px; color: var(--wp--preset--color--ink-muted); }

.lm-tc-panel { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--8); margin-top: var(--wp--preset--spacing--12); padding: var(--wp--preset--spacing--8); border-radius: var(--radius-lg); }
.lm-tc-panel > div:first-child { flex: 1 1 320px; }
.lm-tc-panel h2 { margin-bottom: var(--wp--preset--spacing--2); }
.lm-tc-panel p:not(.lm-eyebrow) { margin: 0; }
.lm-tc-data { background: var(--sec-soft); }
.lm-tc-data ul { flex: 1 1 360px; display: flex; flex-direction: column; gap: var(--wp--preset--spacing--3); margin: 0; padding: 0; list-style: none; }
.lm-tc-data li { padding: var(--wp--preset--spacing--4); border-radius: var(--radius-md); background: var(--wp--preset--color--surface-000); font-size: 14px; line-height: 22px; }
.lm-tc-data li.is-warning { border-left: 0; color: var(--wp--preset--color--ink); box-shadow: inset 0 0 0 1px var(--wp--preset--color--brand); }
.lm-tc-notion { background: var(--wp--preset--color--surface-000); border: 1px solid var(--wp--preset--color--line); }
.lm-tc-repo { display: flex; flex-direction: column; align-items: flex-start; gap: var(--wp--preset--spacing--2); }

.lm-tc-steps { margin: 0; padding: 0; list-style: none; }
.lm-tc-steps li { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--2); padding: var(--wp--preset--spacing--6); border: 1px solid var(--wp--preset--color--line); border-radius: var(--radius-lg); background: var(--wp--preset--color--surface-000); }
.lm-tc-step-no { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: var(--radius-pill); background: var(--sec); color: var(--wp--preset--color--surface-000); font-family: var(--wp--preset--font-family--display); font-weight: 800; }

.lm-tc-faq { max-width: 760px; }
.lm-tc-faq details { margin-bottom: var(--wp--preset--spacing--3); border: 1px solid var(--wp--preset--color--line); border-radius: var(--radius-md); background: var(--wp--preset--color--surface-000); }
.lm-tc-faq summary { min-height: 56px; display: flex; align-items: center; padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--6); font-weight: 700; cursor: pointer; }
.lm-tc-faq details p { margin: 0; padding: 0 var(--wp--preset--spacing--6) var(--wp--preset--spacing--4); font-size: 14px; line-height: 22px; color: var(--wp--preset--color--ink-muted); }
.lm-tc-extra { color: var(--wp--preset--color--ink-muted); font-size: 14px; }
.lm-tc-sources { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--wp--preset--spacing--4); margin-top: var(--wp--preset--spacing--8); padding-top: var(--wp--preset--spacing--6); border-top: 1px solid var(--wp--preset--color--line); font-size: 14px; line-height: 22px; color: var(--wp--preset--color--ink-muted); }
.lm-tc-sources a { color: var(--sec); }
@media (max-width: 600px) { .lm-tc-hero h1 { font-size: 30px; line-height: 38px; } .lm-tc-panel { padding: var(--wp--preset--spacing--6); } .lm-tc-demo { padding: var(--wp--preset--spacing--4); } }
