:root{--bg:#fffaf0;--text:#2a2118;--muted:#716354;--soft:#8a7c6c;--line:#402d191f;--surface:#fffcf5c7;--gold:#b9862d;--moss:#536c4f;--furigana:#b9473f;--archive-bg:#111;--archive-text:#fffaf0;--archive-muted:#fffaf0b8;--archive-soft:#fffaf09e;--archive-line:#fffaf02e;--shadow-card:#402d191a 0 0 0 1px, #402d190a 0 2px 2px, #402d190d 0 12px 30px -18px;--font-sans:"Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--font-ja:"Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;--page-pad:clamp(18px, 5vw, 24px);--section-pad:clamp(22px, 6vw, 48px) var(--page-pad);--copy-size:clamp(16px, 4vw, 19px);--section-title:clamp(28px, 7vw, 48px)}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{color:var(--text);background:radial-gradient(circle at 50% 0%, #f4dfb580, transparent 30rem), linear-gradient(180deg, var(--bg) 0%, #fffdf8 52%, var(--bg) 100%);font-family:var(--font-sans);font-feature-settings:"liga" 1;margin:0;overflow-x:hidden}main{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%}.brand,.card-topline,.word-line,.word-meta,.api-header,.endpoint-strip,.copy-button,.footer,.footer-links{align-items:center;display:flex}h1,h2{letter-spacing:-.065em;margin:0;font-weight:600}h1{max-width:780px;margin-inline:auto;font-size:clamp(40px,11vw,82px);line-height:.94}h2{font-size:var(--section-title);line-height:.98}.copy-button:focus-visible,.trmnl-preview:focus-visible,.archive-item:focus-visible,.brand-byline a:focus-visible,.footer a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.mono-label,.brand-byline{font-family:var(--font-mono);letter-spacing:.08em;font-size:11px;font-weight:500}.mono-label{color:var(--soft)}.brand-byline{color:var(--muted)}.hero{max-width:960px;padding:clamp(44px, 8vw, 72px) var(--page-pad) 48px;text-align:center;margin:0 auto;position:relative;overflow:hidden}.hero:before{content:"";z-index:-1;filter:blur(28px);background:radial-gradient(circle at 30% 30%,#b9862d24,#0000 34%),radial-gradient(circle at 72% 48%,#d88b831f,#0000 30%),radial-gradient(circle at 50% 82%,#536c4f1a,#0000 36%);height:260px;position:absolute;inset:20px 10% auto}.brand{text-align:left;gap:16px;width:fit-content;max-width:100%;margin:0 auto 22px}.brand-mark{border:1px solid #ffffff29;flex:none;width:58px;height:58px;display:block;box-shadow:0 12px 34px -18px #402d1929}.brand-lockup{flex-direction:column;gap:2px;min-width:0;line-height:1;display:flex}.brand-name{letter-spacing:-.055em;font-size:clamp(24px,7vw,28px);font-weight:600}.daily-card{width:min(100%,520px);color:var(--text);text-align:center;margin:0 auto 2px}.card-topline{justify-content:center;gap:10px;margin-bottom:10px}.badge,.pill,.card-date{color:var(--text);align-items:center;font-size:12px;font-weight:500;display:inline-flex}.badge{color:var(--moss);margin:34px 0 22px}.hero-copy{max-width:700px;color:var(--muted);margin:28px auto 0;font-size:clamp(17px,4vw,20px);line-height:1.7}.japanese-word,.reading,.example .jp{font-family:var(--font-ja)}.word-line{flex-wrap:wrap;justify-content:center;gap:clamp(12px,2.5vw,20px);line-height:.92}.japanese-word{letter-spacing:-.045em;font-size:clamp(76px,24vw,148px);font-weight:600}.reading{color:var(--text);letter-spacing:-.035em;align-self:flex-end;align-items:baseline;font-size:clamp(28px,8vw,50px);font-weight:500;display:inline-flex}.reading:before{content:"／";color:var(--soft);font-family:var(--font-sans);margin-right:clamp(10px,2vw,16px);font-size:1.45em;font-weight:400}.word-meta{color:var(--text);justify-content:center;margin:clamp(24px,5vw,36px) 0 28px;font-size:clamp(22px,5vw,32px);line-height:1.25}.meaning{font-size:inherit;letter-spacing:-.035em;margin:0;font-weight:600}.example p{color:var(--text);margin:8px 0 0;font-weight:700;line-height:1.6}.example .jp{letter-spacing:-.02em;font-size:clamp(22px,6vw,34px);font-weight:500;line-height:1.55}.is-loading{color:var(--soft)}ruby{ruby-position:over}rt{color:var(--furigana);letter-spacing:0;font-size:.38em;font-weight:400}.trmnl-section{max-width:1040px;padding:var(--section-pad);grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:center;gap:clamp(24px,5vw,48px);margin:0 auto;display:grid}.trmnl-copy{text-align:center}.trmnl-copy h2{max-width:760px;margin-inline:auto}.trmnl-copy p{max-width:520px;color:var(--muted);margin:20px auto 24px;font-size:clamp(16px,3vw,19px);line-height:1.7}.trmnl-preview{background:#0a0a0a;border-radius:18px;display:block;overflow:hidden;box-shadow:0 24px 70px -34px #402d1924,0 0 0 1px #402d191a}.trmnl-preview img{width:100%;height:auto;display:block}.api-section,.seo-copy{max-width:900px;margin:0 auto;padding:clamp(16px,5vw,24px)}.api-panel,.code-card{background:var(--surface);box-shadow:var(--shadow-card);border-radius:12px}.api-panel{padding:clamp(18px,5vw,24px)}.api-header{text-align:center;justify-content:center;align-items:center;gap:18px;margin-bottom:18px}.api-header h2{max-width:760px;margin-inline:auto}.endpoint-strip{width:100%;max-width:100%;box-shadow:var(--line) 0 0 0 1px;font-family:var(--font-mono);background:#fffdf8;border-radius:999px;gap:10px;margin-bottom:12px;padding:8px;font-size:13px;overflow-x:auto}.endpoint-strip .method{color:var(--gold);padding-left:6px;font-weight:500}.endpoint-strip code{white-space:nowrap;flex:auto;min-width:0}.copy-button{color:#fffaf0;background:var(--text);min-height:30px;font:500 12px/1 var(--font-sans);cursor:pointer;border:0;border-radius:999px;justify-content:center;padding:7px 11px}.copy-button:hover{transform:translateY(-1px)}.code-card{overflow:hidden}.window-bar{height:42px;box-shadow:var(--line) 0 1px 0 0;align-items:center;gap:7px;padding:0 16px;display:flex}.window-bar span{background:#e9ddc8;border-radius:50%;width:10px;height:10px}pre{max-height:640px;margin:0;padding:clamp(16px,5vw,22px);overflow:auto}code{color:var(--text);font-family:var(--font-mono);font-size:13px;line-height:1.7}.archive-section{width:100%;max-width:860px;margin:0 auto;padding:clamp(28px,5vw,42px) 0 clamp(8px,2vw,16px)}.archive-header{text-align:center;max-width:720px;margin:0 auto 22px}.archive-header p{color:var(--muted);font-size:var(--copy-size);margin:16px auto 0;line-height:1.7}.archive-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.archive-item,.archive-empty{background:var(--archive-bg);box-shadow:#1111112e 0 18px 44px -28px, var(--archive-line) 0 0 0 1px inset;border-radius:12px}.archive-item{grid-template-columns:auto 1fr;align-items:baseline;gap:4px 10px;min-width:0;padding:16px;transition:transform .18s,box-shadow .18s;display:grid}.archive-item:hover{transform:translateY(-1px);box-shadow:0 24px 52px -28px #11111138,inset 0 0 0 1px #fffaf047}.archive-item time{color:var(--archive-soft);font-family:var(--font-mono);grid-column:1/-1;font-size:11px}.archive-word,.archive-reading{font-family:var(--font-ja)}.archive-word{color:var(--archive-text);letter-spacing:-.045em;font-size:clamp(28px,5vw,40px);font-weight:600}.archive-reading{color:var(--archive-muted);font-size:17px}.archive-meaning{color:var(--archive-muted);grid-column:1/-1;font-size:14px;line-height:1.45}.archive-empty{color:var(--archive-muted);text-align:center;margin:0;padding:18px}.seo-copy{text-align:center;padding-top:clamp(26px,6vw,42px);padding-bottom:clamp(42px,8vw,64px)}.seo-copy h2{max-width:760px;margin-inline:auto}.seo-copy p{max-width:720px;color:var(--muted);font-size:var(--copy-size);margin:20px auto 0;line-height:1.7}.footer{color:var(--soft);box-shadow:var(--line) 0 0 0 1px;justify-content:space-between;gap:16px;padding:28px 32px;font-size:14px}.footer-brand{margin:0}.footer a{color:var(--text)}.footer-links{flex-wrap:wrap;gap:16px}.footer-links a+a:before{content:"·";color:var(--soft);margin-right:16px}@media (max-width:760px){.trmnl-section{grid-template-columns:1fr}.footer{flex-direction:column;align-items:flex-start}.archive-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.brand{justify-content:center;gap:12px}.brand-mark{width:48px;height:48px}.word-meta{font-size:clamp(21px,6vw,28px)}.endpoint-strip{border-radius:14px;align-items:stretch;width:100%}.archive-list{grid-template-columns:1fr}.copy-button{margin-left:auto}.footer{padding:24px 20px}}@media (max-width:380px){.brand-byline{font-size:10px}.hero{padding-inline:14px}.api-section{padding-inline:12px}}button{font:inherit}
