:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f4efe8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#090a0d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 78% 18%,#93402b38,#0000 34%),linear-gradient(135deg,#08090d 0%,#141217 48%,#101820 100%);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{border:0}.app-shell{min-height:100vh;padding:clamp(18px,3vw,36px)}.workspace{grid-template-columns:minmax(310px,390px) minmax(0,1fr);gap:clamp(18px,2.5vw,32px);max-width:1320px;min-height:calc(100vh - clamp(36px,6vw,72px));margin:0 auto;display:grid}.control-panel,.diary-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0d0e12db;border:1px solid #ffffff1c;box-shadow:0 24px 70px #00000061}.control-panel{border-radius:8px;flex-direction:column;gap:18px;padding:clamp(18px,2.3vw,26px);display:flex}.brand-row{align-items:center;gap:12px;min-height:54px;display:flex}.brand-copy{gap:5px;display:grid}.brand-copy span{color:#a3b9bd;letter-spacing:0;text-transform:uppercase;font-size:.72rem;font-weight:800}.brand-mark{color:#f3c88f;background:linear-gradient(140deg,#f3c88f33,#466f8029);border:1px solid #eec99b70;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.kicker{color:#a3b9bd;letter-spacing:0;text-transform:uppercase;margin:0 0 5px;font-size:.73rem;font-weight:800}h1,h2,h3{letter-spacing:0;margin:0}h1{font-size:clamp(1.85rem,3vw,2.65rem);line-height:.95}h2{font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.05}h3{color:#f1dfca;font-size:1rem;line-height:1.2}.drop-zone{cursor:pointer;background:linear-gradient(135deg,#ffffff0f,#ffffff03),#ffffff08;border:1px dashed #ebd1af5c;border-radius:8px;place-items:center;min-height:230px;transition:border-color .18s,transform .18s,background .18s;display:grid;position:relative;overflow:hidden}.drop-zone input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;inset:0}.drop-zone.is-dragging,.drop-zone:hover{background:#f3c88f14;border-color:#f3c88fdb;transform:translateY(-1px)}.drop-empty{color:#e7d5c0;text-align:center;place-items:center;gap:8px;display:grid}.drop-empty strong{font-size:1.08rem}.drop-empty span,.meta-row,.diary-empty,.privacy-note{color:#9facb0;font-size:.86rem}.upload-preview,.upload-preview img{width:100%;height:100%}.upload-preview img{object-fit:cover;position:absolute;inset:0}.field-group{gap:8px;display:grid}.field-grid{grid-template-columns:1fr;gap:12px;display:grid}.field-group label{color:#f1dfca;font-size:.92rem;font-weight:800}.segmented-years{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.year-option{color:#cbd9dc;cursor:pointer;background:#ffffff0e;border:1px solid #ffffff1f;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:44px;padding:0 8px;font-size:.9rem;font-weight:800;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.year-option:hover,.year-option.is-active{color:#ffe6c2;background:#f3c88f24;border-color:#f3c88fb8}.year-option.is-active{box-shadow:inset 0 0 0 1px #f3c88f33}.year-option:hover{transform:translateY(-1px)}.input-with-icon{color:#b6cace;background:#ffffff0e;border:1px solid #ffffff1f;border-radius:8px;align-items:center;gap:10px;min-height:48px;padding:0 13px;display:flex}input,textarea{color:#f7efe7;background:#ffffff0e;border:1px solid #ffffff1f;border-radius:8px;outline:0;width:100%}input{min-height:46px;padding:0 13px}.input-with-icon input{background:0 0;border:0;min-height:46px}input:focus,textarea:focus{border-color:#f3c88fad;box-shadow:0 0 0 3px #f3c88f1f}textarea{resize:vertical;min-height:132px;padding:14px;line-height:1.58}textarea::placeholder{color:#6f8187}.meta-row{justify-content:space-between;gap:10px;display:flex}.error-message{color:#ffc7bc;background:#751b1b3d;border:1px solid #ff776747;border-radius:8px;margin:0;padding:11px 12px;font-size:.9rem}.primary-action{color:#110e10;cursor:pointer;background:linear-gradient(135deg,#f2c382 0%,#b86f55 54%,#587b87 100%);border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:52px;font-weight:900;transition:filter .16s,transform .16s;display:inline-flex}.primary-action:hover{filter:brightness(1.06);transform:translateY(-1px)}.primary-action:disabled{cursor:wait;filter:grayscale(.25)brightness(.78);transform:none}.privacy-note{background:#ffffff09;border:1px solid #ffffff14;border-radius:8px;align-items:flex-start;gap:8px;padding:10px 11px;line-height:1.5;display:flex}.privacy-note svg{color:#f2c382;flex:none;margin-top:2px}.result-stage{grid-template-rows:minmax(420px,1fr) auto;gap:18px;min-width:0;display:grid}.portrait-frame{background:linear-gradient(135deg,#ffffff14,#ffffff05),#111318;border:1px solid #ffffff1a;border-radius:8px;min-height:460px;position:relative;overflow:hidden}.portrait-frame img{object-fit:cover;filter:saturate(.78)contrast(1.1)brightness(.8);width:100%;height:100%;min-height:460px}.future-overlay{mix-blend-mode:screen;background:linear-gradient(#0000 35%,#07080bd9 100%),linear-gradient(115deg,#f4be7e57,#0000 42%),linear-gradient(250deg,#517c8957,#0000 48%);position:absolute;inset:0}.pending-frame{text-align:center;background:radial-gradient(circle at 50% 28%,#ffffff14,#0000 30%),linear-gradient(145deg,#17191d 0%,#0d0f12 50%,#222428 100%);align-content:center;place-items:center;gap:13px;height:100%;min-height:460px;padding:clamp(24px,5vw,56px);display:grid}.pending-frame span{color:#f2c382;text-transform:uppercase;font-size:.78rem;font-weight:900}.pending-frame strong{color:#f3eee7;letter-spacing:0;text-wrap:balance;max-width:720px;font-size:clamp(2rem,5vw,4.8rem);line-height:1.02}.loading-hint{color:#9facb0;margin:-2px 0 0;font-size:.9rem;line-height:1.5}.loading-spinner{border:3px solid #ffffff29;border-top-color:#f2c382;border-radius:50%;width:42px;height:42px;margin-top:6px;animation:.82s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.portrait-caption{gap:9px;max-width:760px;display:grid;position:absolute;bottom:clamp(18px,3vw,34px);left:clamp(18px,3vw,34px);right:clamp(18px,3vw,34px)}.portrait-caption span{color:#f2c382;text-transform:uppercase;font-size:.77rem;font-weight:900}.portrait-caption strong{color:#fff8ee;letter-spacing:0;text-wrap:balance;font-size:clamp(1.8rem,4vw,4.6rem);line-height:.98}.empty-frame{color:#73868c;align-content:center;place-items:center;gap:12px;height:100%;min-height:460px;display:grid}.diary-panel{border-radius:8px;min-height:230px;padding:clamp(18px,2.2vw,26px)}.panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.panel-actions{gap:8px;display:flex}.icon-button{color:#f7e8d6;cursor:pointer;background:#fff1;border:1px solid #ffffff1f;border-radius:8px;flex:none;place-items:center;width:38px;height:38px;display:grid}a.icon-button{text-decoration:none}.icon-button:disabled{cursor:not-allowed;opacity:.42}.icon-button.floating{z-index:2;background:#07080bb8;position:absolute;top:12px;right:12px}.diary-text{color:#e9dccf;white-space:pre-line;max-width:900px;margin:0;font-size:clamp(.95rem,1.4vw,1.06rem);line-height:1.78}.roadmap-panel{border-top:1px solid #ffffff17;gap:12px;margin-top:22px;padding-top:18px;display:grid}.roadmap-panel ol{color:#dfd1c4;gap:10px;margin:0;padding-left:22px;line-height:1.58;display:grid}.roadmap-panel li::marker{color:#f2c382;font-weight:900}.diary-empty{align-items:center;gap:10px;min-height:92px;display:flex}.share-panel{border-top:1px solid #ffffff17;gap:10px;margin-top:22px;padding-top:18px;display:grid}.secondary-action{color:#f7e8d6;cursor:pointer;background:#f3c88f14;border:1px solid #f3c88f57;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:fit-content;min-height:42px;padding:0 14px;font-size:.92rem;font-weight:850;text-decoration:none;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.secondary-action:hover{background:#f3c88f24;border-color:#f3c88fa8;transform:translateY(-1px)}.secondary-action:disabled{cursor:wait;opacity:.62;transform:none}.copy-field{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;max-width:760px;display:grid}.copy-field input{color:#dbe7e8;min-width:0;font-size:.88rem}.share-status{color:#a3b9bd;margin:0;font-size:.86rem;line-height:1.5}.share-shell{gap:20px;max-width:1120px;margin:0 auto;display:grid}.share-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.share-shell .result-stage{grid-template-rows:minmax(420px,62vh) auto}.site-footer{color:#8ea0a5;border-top:1px solid #ffffff17;gap:10px;max-width:1320px;margin:22px auto 0;padding:18px 0 0;font-size:.86rem;display:grid}.site-footer nav{flex-wrap:wrap;gap:10px 16px;display:flex}.site-footer a{color:#d8c3a8;text-decoration:none}.site-footer a:hover{color:#f2c382}.site-footer p{margin:0;line-height:1.55}@media (width<=920px){.app-shell{padding:14px}.workspace{grid-template-columns:1fr}.control-panel{order:1}.result-stage{order:2;grid-template-rows:auto auto}.share-header{flex-direction:column;align-items:flex-start}.portrait-frame,.portrait-frame img,.pending-frame,.empty-frame{min-height:380px}}@media (width<=560px){.control-panel,.diary-panel{padding:16px}.brand-row{align-items:flex-start}.drop-zone{min-height:190px}.segmented-years{grid-template-columns:repeat(2,minmax(0,1fr))}.portrait-frame,.portrait-frame img,.pending-frame,.empty-frame{min-height:330px}.portrait-caption strong,.pending-frame strong{font-size:clamp(1.45rem,10vw,2.4rem)}}
