.up-ph{padding:36px 0 14px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.up-ph h1{margin:0 0 8px;font-family:"Noto Serif JP",serif;font-size:56px;font-weight:600;line-height:1.05;letter-spacing:-.005em}:root[lang=en] .up-ph h1{font-family:Cormorant Garamond,"Noto Serif JP",serif}.up-ph p{margin:0;font-size:12.5px;color:var(--text-2);line-height:1.75;max-width:540px}.up-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.up-filters button{background:transparent;border:1px solid var(--line-2);color:var(--text-3);font-family:inherit;font-size:12.5px;font-weight:500;padding:5px 12px;border-radius:999px;cursor:pointer;line-height:1;transition:background .15s,color .15s,border-color .15s}.up-filters button:hover{color:var(--text);border-color:var(--text-3)}.up-filters button.on{background:#ffffff14;color:var(--text);border-color:var(--text-3)}:root[data-theme=light] .up-filters button.on{background:#14202f14;border-color:var(--text-3)}.timeline{padding:8px 0 56px;display:flex;flex-direction:column;gap:0;position:relative}.tl-row{display:grid;grid-template-columns:70px 120px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 4px;border:0;border-bottom:1px solid var(--line);background:transparent;position:relative}.tl-row:last-child{border-bottom:0}.tl-row .date{font-family:Cormorant Garamond,"Noto Serif JP",serif;line-height:1.1}.tl-row .date .y{font-size:11px;color:var(--text-3);display:block;margin-bottom:1px}.tl-row .date .md{font-size:26px;color:var(--text);font-weight:500;letter-spacing:-.005em}.tl-row .dot-col{display:none}.tl-row .dot{width:9px;height:9px;border-radius:50%;background:var(--text-3);box-shadow:0 0 0 4px var(--bg);position:relative;z-index:1}.tl-row .tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:4px;font-size:11.5px;font-weight:500;line-height:1;background:transparent;border:1px solid var(--line-2);color:var(--text-2)}.tl-row .tag.project{color:#f0b56a;border-color:#f0b56a66;background:#f0b56a0f}.tl-row .tag.feature{color:#c7e36a;border-color:#c7e36a66;background:#c7e36a0d}.tl-row .tag.article{color:#c79bff;border-color:#c79bff66;background:#c79bff0d}.tl-row .tag.site{color:#6fd6a4;border-color:#6fd6a466;background:#6fd6a40d}:root[data-theme=light] .tl-row .tag.project{color:#9a5c24;border-color:#d8c7b2;background:#f3eadf}:root[data-theme=light] .tl-row .tag.feature{color:#6e7d20;border-color:#d8e2a8;background:#f4f7e0}:root[data-theme=light] .tl-row .tag.article{color:#6e3fb0;border-color:#d8c9e6;background:#f1eaf8}:root[data-theme=light] .tl-row .tag.site{color:#2f7a55;border-color:#c7dfd0;background:#e7f3ec}.tl-row .tag .ic{color:currentColor}.tl-row .entry{min-width:0}.tl-row h3{margin:0 0 4px;font-family:"Noto Serif JP",serif;font-size:15px;font-weight:600;line-height:1.4}.tl-row .body{font-size:12px;color:var(--text-3);line-height:1.7}.tl-row .more{color:var(--text-3);font-size:12px;display:inline-flex;gap:8px;align-items:center;white-space:nowrap;transition:color .15s}.tl-row .more:hover{color:var(--text)}.up-ph{padding:42px 50px 26px;grid-template-columns:1fr auto;align-items:end}.up-ph h1{font-size:48px;line-height:1.08;margin-bottom:24px}.up-ph p{font-size:16px;line-height:1.95}.up-filters{gap:16px;padding-bottom:8px}.up-filters button{min-width:104px;padding:13px 24px;border-radius:6px;font-size:14px;color:var(--text)}.up-filters button.on{background:linear-gradient(180deg,#2c4ea3,#1a3074);border-color:#ffffff0d;box-shadow:inset 0 1px #ffffff1a,0 1px 2px #0003;color:#fff}.timeline{padding:0 64px 22px;gap:10px}.timeline:before{display:none}.tl-row{grid-template-columns:86px 132px minmax(0,1fr) 154px;gap:24px;height:112px;padding:0 26px;border:1px solid var(--line);border-radius:8px;background:#08122094;overflow:hidden}.tl-row .date .y{font-size:17px}.tl-row .date .md{font-size:34px}.tl-row .dot{width:12px;height:12px}.tl-row .tag{justify-self:start;min-width:116px;justify-content:center;padding:10px 16px;font-size:14px}.tl-row h3{font-size:23px;margin-bottom:6px}.tl-row .body{font-size:13px}.tl-row .more{color:var(--link);font-size:14px;justify-self:end}:root[data-theme=light] .tl-row{background:#fffcf7e0}:root[data-theme=light] .up-filters button.on{background:#e2dacea3;border-color:#ad9f8cad;color:var(--text);box-shadow:inset 0 1px #ffffff9e,0 1px 2px #29231c14}:root[data-theme=light] .up-filters button{color:var(--text)}
