/* The Life List's own editorial room, built on ReturnKit's cool palette. */
.brand-mark{font:700 23px/1 Inter,sans-serif;letter-spacing:-.12em;border-radius:10px;background:#28306f;color:#fff;transform:none}
.sidebar-note .tiny-sun{display:block;font:700 22px/1 Inter,sans-serif;letter-spacing:-.15em}
.life-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(315px,.8fr);gap:32px;align-items:center;padding:37px 42px 39px;background:#28306f;border-radius:29px;overflow:hidden;position:relative;color:#fff;box-shadow:0 15px 42px rgba(40,48,111,.12)}
.life-hero:before{content:"";position:absolute;width:430px;height:430px;right:24%;top:-330px;border:1px solid rgba(255,255,255,.12);border-radius:50%;pointer-events:none}
.life-hero:after{content:"";position:absolute;width:560px;height:560px;right:-300px;bottom:-450px;background:#394384;border-radius:50%;pointer-events:none}
.life-hero>*{position:relative;z-index:1}
.life-overline{font:800 10px/1.4 Inter,sans-serif;letter-spacing:.16em;color:#e9d9ef;margin:0 0 18px}
.life-overline span{color:#f48aae;margin:0 4px}
.life-hero h1{font:800 clamp(38px,4.2vw,65px)/1.07 "Plus Jakarta Sans",sans-serif;letter-spacing:-.052em;text-wrap:balance;max-width:760px;margin:0 0 22px}
.life-hero h1 em{font-style:normal;color:#f7cad0}
.life-intro{font:500 15px/1.68 Inter,sans-serif;color:#e5e8fa;max-width:59ch;margin:0}
.life-hero-foot{display:flex;align-items:center;gap:12px;color:#bec7ee;font:600 11px/1.5 Inter,sans-serif;margin-top:37px}
.life-foot-line{height:1px;width:29px;background:#f48aae;flex:none}
.life-first-card{background:#fff;border-radius:23px;padding:28px 27px;color:#28306f;box-shadow:0 18px 40px rgba(17,22,65,.14)}
.life-card-step{color:#858bb5;font:800 10px/1.3 Inter,sans-serif;letter-spacing:.15em}
.life-first-card h2{font:800 25px/1.25 "Plus Jakarta Sans",sans-serif;letter-spacing:-.04em;margin:14px 0 22px;text-wrap:balance}
.life-first-card label,.life-detail label{display:block;color:#454c7e;font:800 11px/1.4 Inter,sans-serif;margin-bottom:8px}
.life-first-card input,.life-detail input,.life-detail select,.life-reflection textarea{width:100%;height:48px;border:1px solid #d9e1f0;background:#f8fbff;border-radius:13px;padding:0 14px;color:#28306f;font:600 13px/1.4 Inter,sans-serif}
.life-first-card input::placeholder,.life-detail input::placeholder,.life-reflection textarea::placeholder{color:#696f98;opacity:1}
.life-first-card input:focus-visible,.life-detail input:focus-visible,.life-detail select:focus-visible,.life-reflection textarea:focus-visible{outline:3px solid #a690ee;outline-offset:2px}
.life-first-card form button,.life-plan-actions button:first-child,.life-reflection form button:first-child{border:0;border-radius:999px;background:#c4316b;color:white;min-height:45px;padding:12px 18px;font:800 12px/1.2 Inter,sans-serif;transition:transform .18s,background .18s}
.life-first-card form button:hover,.life-plan-actions button:first-child:hover,.life-reflection form button:first-child:hover{background:#9f255b;transform:translateY(-1px)}
.life-first-card form button{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:11px}
.life-first-card form button span{font-size:17px;font-weight:500}
.life-first-card>p{color:#747b9d;font:500 11px/1.55 Inter,sans-serif;margin:15px 0 0}
.life-suggestion-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:18px 4px 9px}
.life-suggestion-row>span{font:800 10px/1.4 Inter,sans-serif;letter-spacing:.13em;color:#858bb5;margin-right:5px}
.life-suggestion-row button{border:1px solid #dbe2ef;background:#fff;border-radius:999px;color:#4d5585;font:700 11px/1.2 Inter,sans-serif;padding:9px 13px}
.life-suggestion-row button:hover{background:#eff3fa}
.life-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(315px,.85fr);gap:22px;margin-top:40px;align-items:start}
.life-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}
.life-kicker{color:#8b90b1;font:800 10px/1.3 Inter,sans-serif;letter-spacing:.14em;margin:0 0 7px}
.life-section-head h2{color:#28306f;font:800 clamp(22px,2.3vw,29px)/1.2 "Plus Jakarta Sans",sans-serif;letter-spacing:-.042em;margin:0;text-wrap:balance}
.life-count{color:#777eaa;font:700 11px/1.2 Inter,sans-serif;white-space:nowrap;padding-bottom:3px}
.life-filters{display:flex;gap:4px;background:#eef3fa;border:1px solid #e3e8f3;border-radius:999px;padding:4px;width:max-content;max-width:100%;margin-bottom:17px}
.life-filters button{background:transparent;border:0;border-radius:999px;padding:9px 13px;color:#5e668f;font:800 11px/1 Inter,sans-serif;white-space:nowrap}
.life-filters button.active{background:#28306f;color:white;box-shadow:0 2px 5px rgba(40,48,111,.12)}
.life-items{display:grid;gap:11px}
.life-item{background:#fff;border:1px solid #e0e6f1;border-radius:20px;padding:19px 21px 15px;box-shadow:0 3px 18px rgba(40,48,111,.035)}
.life-item.is-selected{border-color:#9083d9;box-shadow:0 0 0 2px #e8e0fe,0 3px 18px rgba(40,48,111,.04)}
.life-item-select{display:grid;text-align:left;gap:8px;width:100%;border:0;background:transparent;color:#28306f;padding:0}
.life-item-meta{font:800 9px/1.2 Inter,sans-serif;letter-spacing:.14em;color:#b23266}
.life-item-select strong{font:800 19px/1.26 "Plus Jakarta Sans",sans-serif;letter-spacing:-.03em}
.life-item-plan{color:#666e93;font:500 11px/1.5 Inter,sans-serif}
.life-item-note{background:#f4f0ff;border-left:2px solid #ac99ee;border-radius:0 8px 8px 0;color:#4a5188;font:500 11px/1.6 Inter,sans-serif;padding:9px 12px;margin:14px 0 0;white-space:pre-wrap}
.life-item-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;border-top:1px solid #eef1f8;margin-top:15px;padding-top:12px}
.life-item-actions button{border:0;background:none;color:#a22a5d;font:800 11px/1.2 Inter,sans-serif;padding:4px 0}
.life-item-actions button:hover{text-decoration:underline;text-underline-offset:3px}
.life-item-actions button[data-life-remove]{color:#7d84a4}
.life-item-actions span{font:600 10px/1.3 Inter,sans-serif;color:#8b90ad;margin-left:auto}
.life-empty{background:#fff;border:1px dashed #ced6e8;border-radius:22px;padding:32px 30px 34px}
.life-empty-mark{display:block;color:#c4316b;font:500 35px/1 Inter,sans-serif;margin-bottom:17px}
.life-empty h3{color:#28306f;font:800 22px/1.3 "Plus Jakarta Sans",sans-serif;letter-spacing:-.035em;margin:0 0 9px}
.life-empty p{color:#656d93;font:500 12px/1.65 Inter,sans-serif;max-width:48ch;margin:0 0 20px}
.life-empty button{border:1px solid #28306f;border-radius:999px;background:#fff;color:#28306f;padding:10px 15px;font:800 11px/1.2 Inter,sans-serif}
.life-empty button:hover{background:#f1f6fd}
.life-detail{background:#fff;border:1px solid #e0e6f1;border-radius:23px;box-shadow:0 9px 28px rgba(40,48,111,.04);overflow:hidden;position:sticky;top:26px}
.life-detail-head{padding:26px 26px 0}
.life-detail h2{font:800 25px/1.2 "Plus Jakarta Sans",sans-serif;letter-spacing:-.045em;color:#28306f;margin:12px 0 9px;text-wrap:balance}
.life-detail-head p{font:500 12px/1.6 Inter,sans-serif;color:#666e93;margin:0 0 20px}
.life-detail form{padding:0 26px 25px}
.life-detail form>input,.life-detail form>select{margin-bottom:15px}
.life-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.life-field-grid>div{min-width:0}
.life-field-grid select{margin-bottom:15px}
.life-detail select{appearance:auto;padding-right:6px;font-size:11px}
.life-plan-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:8px}
.life-plan-actions button:nth-child(2),.life-reflection form button:nth-child(2){border:1px solid #d9e1f0;border-radius:999px;background:#fff;color:#28306f;min-height:44px;padding:11px 16px;font:800 11px/1.2 Inter,sans-serif}
.life-plan-actions button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.life-detail-bottom{background:#f5f7fd;border-top:1px solid #e9edf5;padding:20px 26px 22px}
.life-detail-bottom p{font:500 11px/1.6 Inter,sans-serif;color:#626a91;margin:8px 0 0}
.life-reflection[hidden]{display:none}
.life-reflection{margin-top:24px;background:#f1edff;border:1px solid #dcd2fb;border-radius:22px;padding:24px 28px;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:22px}
.life-reflection h2{font:800 24px/1.2 "Plus Jakarta Sans",sans-serif;color:#28306f;letter-spacing:-.04em;margin:10px 0 8px}
.life-reflection p{font:500 12px/1.6 Inter,sans-serif;color:#5d668d;margin:0}
.life-reflection textarea{height:auto;min-height:92px;resize:vertical;padding:13px;line-height:1.5}
.life-reflection form>div{display:flex;gap:9px;margin-top:10px}
.life-crosslinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:54px}
.life-crosslinks>div{min-height:174px;border-top:1px solid #b8c2db;padding:17px 5px 8px 0;display:flex;flex-direction:column;align-items:flex-start}
.life-crosslinks span:first-child{color:#8b90b1;font:800 9px/1.3 Inter,sans-serif;letter-spacing:.14em}
.life-crosslinks h3{color:#28306f;font:800 17px/1.3 "Plus Jakarta Sans",sans-serif;letter-spacing:-.03em;max-width:25ch;margin:12px 0 14px}
.life-crosslinks button,.life-data-link button{border:0;background:transparent;color:#b23266;padding:0;font:800 11px/1.3 Inter,sans-serif;margin-top:auto}
.life-crosslinks button:hover,.life-data-link button:hover{text-decoration:underline;text-underline-offset:3px}
.life-data-link{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #dce3f0;padding:17px 2px 0;margin-top:26px}
.life-data-link p{color:#777e9e;font:500 11px/1.5 Inter,sans-serif;margin:0}
.life-data-link button{margin:0;white-space:nowrap}
@media(max-width:1100px){.life-hero{gap:22px;padding:34px}.life-hero h1{font-size:clamp(35px,4.4vw,53px)}.life-workspace{grid-template-columns:minmax(0,1fr) minmax(295px,.8fr)}}
@media(max-width:850px){.life-hero{grid-template-columns:1fr 330px}.life-workspace{grid-template-columns:1fr 320px}.life-hero h1{font-size:40px}}
@media(max-width:730px){.life-hero,.life-workspace,.life-reflection{grid-template-columns:1fr}.life-hero{padding:28px;gap:26px}.life-hero h1{font-size:clamp(36px,7vw,50px)}.life-hero-foot{margin-top:25px}.life-detail{position:static}.life-crosslinks{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.life-hero{padding:24px 20px;border-radius:22px}.life-hero h1{font-size:37px}.life-intro{font-size:13px}.life-first-card{padding:22px 20px}.life-suggestion-row{align-items:flex-start}.life-suggestion-row>span{flex-basis:100%}.life-workspace{margin-top:31px}.life-filters{width:100%;justify-content:space-between;overflow:auto}.life-filters button{padding:9px 10px}.life-crosslinks{grid-template-columns:1fr;gap:4px}.life-crosslinks>div{min-height:120px}.life-reflection{padding:21px}.life-data-link{align-items:flex-start;flex-direction:column}.life-field-grid{grid-template-columns:1fr}.life-field-grid select{margin-bottom:15px}}
@media(prefers-reduced-motion:reduce){.life-first-card form button,.life-plan-actions button:first-child,.life-reflection form button:first-child{transition:none}}
