.life-hero { margin-top:18px; align-items:center; }
.life-hero h1 { max-width:none; font-family:var(--mincho); font-weight:600; font-size:clamp(1.7rem,3.8vw,2.65rem); line-height:1.5; letter-spacing:.05em; }
.life-hero-ja { margin:24px 0 8px; font-family:var(--mincho); font-size:clamp(1.2rem,2.8vw,1.65rem); letter-spacing:.08em; }
.life-hero-art { min-height:360px; padding:clamp(10px,2vw,22px) 0; display:flex; gap:18px; position:relative; isolation:isolate; overflow:visible; }
.life-hero-art::before { content:""; position:absolute; z-index:-1; inset:-10% -12%; background:radial-gradient(ellipse at 45% 46%,rgba(181,199,162,.14),rgba(181,199,162,0) 54%),radial-gradient(ellipse at 66% 45%,rgba(151,184,197,.12),rgba(151,184,197,0) 55%),radial-gradient(ellipse at 32% 58%,rgba(201,179,167,.12),rgba(201,179,167,0) 52%); filter:blur(18px); }
.life-hero-strips { flex:1; display:flex; gap:clamp(8px,1.2vw,13px); min-width:0; padding:8px 0; }.life-hero-strips i { flex:1; border-radius:999px; opacity:.72; mix-blend-mode:multiply; filter:blur(1.2px); -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 13%,#000 87%,transparent 100%); mask-image:linear-gradient(to bottom,transparent 0,#000 13%,#000 87%,transparent 100%); animation:lifeStripFloat 18s ease-in-out infinite; }.life-hero-strips i:nth-child(1){background:linear-gradient(to bottom,rgba(201,179,167,0),#c9b3a7 24% 76%,rgba(201,179,167,0));transform:translateY(12px)}.life-hero-strips i:nth-child(2){background:linear-gradient(to bottom,rgba(181,199,162,0),#b5c7a2 24% 76%,rgba(181,199,162,0));animation-delay:-3s}.life-hero-strips i:nth-child(3){background:linear-gradient(to bottom,rgba(228,197,127,0),#e4c57f 24% 76%,rgba(228,197,127,0));transform:translateY(-8px);animation-delay:-6s}.life-hero-strips i:nth-child(4){background:linear-gradient(to bottom,rgba(151,184,197,0),#97b8c5 24% 76%,rgba(151,184,197,0));transform:translateY(8px);animation-delay:-9s}.life-hero-strips i:nth-child(5){background:linear-gradient(to bottom,rgba(182,161,191,0),#b6a1bf 24% 76%,rgba(182,161,191,0));animation-delay:-12s}
.life-hero-caption { width:96px; display:flex; flex-direction:column; justify-content:space-between; padding:32px 0 24px; font-family:var(--serif); color:var(--ink-3); font-size:9px; letter-spacing:.18em; }.life-hero-caption span:nth-child(2){margin-top:auto}.life-hero-caption strong{margin-top:18px;color:var(--ink-2);font-weight:400;line-height:1.55;letter-spacing:.12em}
@keyframes lifeStripFloat { 0%,100%{translate:0 0;scale:1} 48%{translate:0 -5px;scale:1.012} 72%{translate:0 3px;scale:.994} }
.life-builder { margin-top:clamp(50px,7vw,84px); padding:clamp(24px,4vw,46px); border:1px solid var(--rule); border-radius:var(--radius-lg); background:var(--paper-2); box-shadow:var(--shadow); }
.life-builder-head { display:flex; justify-content:space-between; align-items:end; gap:18px; padding-bottom:20px; border-bottom:1px solid var(--rule); }.life-builder-head h2,.life-about h2{margin:5px 0 0;font-family:var(--mincho);font-weight:600;letter-spacing:.06em}.life-builder-head p{margin:0;color:var(--ink-3);font-size:12px}.life-step{font-family:var(--serif);font-size:10px;letter-spacing:.24em;color:var(--ink-3)}
.life-title-label{display:block;margin:24px 0 8px;color:var(--ink-3);font-size:11px;letter-spacing:.08em}.life-title-input,.life-event-row input,.life-event-row select{box-sizing:border-box;min-height:46px;border:1px solid var(--rule);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit;padding:9px 11px;outline:none}.life-title-input{width:100%}.life-title-input:focus,.life-event-row input:focus,.life-event-row select:focus{border-color:var(--c-ink)}
.life-event-head{display:grid;grid-template-columns:minmax(150px,1.25fr) minmax(130px,1fr) 78px 82px 82px 34px 30px;gap:8px;margin:24px 0 7px;padding-left:40px;color:var(--ink-3);font-size:9px;letter-spacing:.08em}.life-event-list{display:grid;gap:10px}.life-event-row{display:grid;grid-template-columns:32px minmax(150px,1.25fr) minmax(130px,1fr) 78px 82px 82px 34px 30px;gap:8px;align-items:center}.life-event-number{font-family:var(--serif);font-size:11px;color:var(--ink-3)}.life-event-year{text-align:center}.life-event-color{width:32px;height:32px;border:1px solid var(--rule);border-radius:50%;background:var(--paper-3)}.life-event-remove{width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--ink-3);font-size:20px;cursor:pointer}.life-event-remove:hover{background:var(--paper-3);color:var(--ink)}.life-event-remove:disabled{visibility:hidden}
.life-builder-actions{display:flex;justify-content:space-between;gap:14px;margin-top:16px}.life-builder-actions button{border:0;background:transparent;color:var(--ink-2);padding:8px 0;font:inherit;font-size:12px;cursor:pointer}.life-builder-actions button:last-child{color:var(--ink-3)}.life-create-btn{width:100%;min-height:58px;margin-top:22px;border:1px solid var(--c-ink);border-radius:999px;background:var(--c-ink);color:#fff;font:inherit;letter-spacing:.08em;cursor:pointer}.life-create-btn:disabled{border-color:var(--rule-2);background:var(--paper-3);color:var(--ink-3);cursor:not-allowed}.life-privacy-note{margin:13px 0 0;text-align:center;color:var(--ink-3);font-size:10.5px}
.life-result{margin-top:clamp(58px,8vw,96px)}.life-result-section{padding:clamp(38px,5vw,62px) 0;border-top:1px solid var(--rule)}.life-section-head{display:flex;gap:16px;margin-bottom:24px}.life-section-head>span{font-family:var(--serif);font-size:24px;color:var(--rule-2);line-height:1}.life-section-head h2{margin:0 0 2px;font-family:var(--mincho);font-weight:600;font-size:clamp(1.25rem,3vw,1.7rem);letter-spacing:.05em}.life-section-head small{font-family:var(--serif);font-size:9px;letter-spacing:.24em;color:var(--ink-3)}
.life-palette-card{min-height:460px;border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper-2);padding:clamp(24px,4vw,44px);display:flex;flex-direction:column;box-shadow:var(--shadow)}.life-palette-card-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:28px}.life-palette-card-head p{margin:0;font-family:var(--serif);font-size:clamp(1.2rem,3vw,2rem);letter-spacing:.08em}.life-palette-card-head span{font-family:var(--serif);font-size:11px;letter-spacing:.16em;color:var(--ink-3)}.life-palette-strips{flex:1;display:flex;gap:clamp(5px,1vw,11px);min-height:300px}.life-palette-strip{flex:1;min-width:0;border-radius:999px;display:flex;align-items:end;justify-content:center;padding:18px 5px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.life-palette-strip span{font-size:9px;letter-spacing:.04em;writing-mode:vertical-rl;text-shadow:0 1px 6px rgba(0,0,0,.18)}
.life-story-card{display:grid;grid-template-columns:1.25fr minmax(240px,.75fr);gap:28px;align-items:center;border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper-2);padding:clamp(26px,4vw,46px)}.life-story-card h3{margin:11px 0 14px;font-family:var(--mincho);font-weight:600;font-size:clamp(1.35rem,3vw,2rem);letter-spacing:.04em}.life-story-card p{margin:0;color:var(--ink-2);line-height:2}.life-story-signals{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.life-story-signals span{padding:5px 10px;border:1px solid var(--rule);border-radius:999px;background:var(--paper);color:var(--ink-3);font-size:10.5px}.life-story-orb{width:min(250px,65vw);aspect-ratio:1;border-radius:50%;margin:auto;box-shadow:0 20px 48px rgba(35,37,31,.16)}
.life-days{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.life-day-card{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--paper-2);padding:15px}.life-day-swatch{width:72px;aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.life-day-card small{display:block;color:var(--ink-3);font-size:9.5px;letter-spacing:.08em}.life-day-card h3{margin:4px 0 3px;font-family:var(--mincho);font-size:15px;font-weight:600}.life-day-card p{margin:0;color:var(--ink-3);font-size:11px;line-height:1.6}
.life-keep-grid{display:grid;grid-template-columns:minmax(280px,.9fr) 1fr;gap:28px;align-items:center}.life-poster-preview{aspect-ratio:4/5;border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper-2);padding:28px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.life-poster-preview p{margin:0;font-family:var(--serif);font-size:clamp(1.1rem,3vw,1.7rem);letter-spacing:.06em}.life-poster-preview>div{flex:1;display:flex;gap:6px;margin:28px 0}.life-poster-preview i{flex:1;border-radius:999px}.life-poster-preview>span{font-family:var(--serif);font-size:9px;letter-spacing:.2em;color:var(--ink-3)}.life-action-list{display:grid;gap:10px}.life-action-list button,.life-action-list a{min-height:50px;display:flex;align-items:center;justify-content:center;border:1px solid var(--rule-2);border-radius:999px;background:var(--paper-2);color:var(--ink-2);font:inherit;font-size:13px;text-decoration:none;cursor:pointer;transition:transform .3s var(--ease),border-color .3s}.life-action-list button:first-child{background:var(--c-ink);border-color:var(--c-ink);color:#fff}.life-action-list button:hover,.life-action-list a:hover{transform:translateY(-2px);border-color:var(--c-ink)}
.life-about{max-width:720px;margin:clamp(54px,8vw,96px) auto 0;text-align:center}.life-about p{color:var(--ink-2);line-height:2}
@media(max-width:860px){.life-event-head{display:none}.life-event-row{grid-template-columns:30px 1fr 1fr 34px 28px;padding:14px 0;border-bottom:1px solid var(--rule)}.life-event-row .life-event-type{grid-column:2/4}.life-event-row .life-event-name{grid-column:2/5}.life-event-row .life-event-year{grid-column:2}.life-event-color{grid-column:4;grid-row:3}.life-event-remove{grid-column:5;grid-row:3}.life-story-card,.life-keep-grid{grid-template-columns:1fr}.life-story-orb{margin-top:8px}.life-days{grid-template-columns:1fr}}
@media(max-width:920px){.life-hero-art{justify-self:center;width:min(86vw,430px)}}
@media(max-width:720px){.life-hero-art{min-height:290px}.life-hero-caption{width:82px}.life-builder{padding:22px 16px}.life-builder-head{align-items:start;flex-direction:column}.life-palette-card{min-height:390px}.life-palette-strips{min-height:250px}.life-palette-strip span{display:none}}
@media(max-width:420px){.life-hero h1{font-size:1.55rem;letter-spacing:.035em}}
