:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans CJK SC",sans-serif;color:#191b1c;background:#dededb;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
:focus-visible{outline:3px solid #a239a1;outline-offset:3px}
.studio{width:min(100%,460px);min-height:100dvh;margin:auto;background:#f6f6f3;box-shadow:0 12px 50px #14171913}
.topbar{height:74px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e3df}
.back-link{width:39px;height:39px;display:grid;place-items:center;border:1px solid #d8d9d5;border-radius:50%;text-decoration:none;font-size:25px;line-height:1}
.brand{display:flex;align-items:center;gap:6px;font-size:19px;font-weight:760;letter-spacing:0}.brand img{width:25px;height:25px;object-fit:contain}.topbar-end{font-size:9px;font-weight:700;color:#858784;letter-spacing:1px}
.intro{padding:35px 27px 33px;border-bottom:1px solid #dfe0dc;background:radial-gradient(circle at 95% 20%,#e9e2ed 0,transparent 39%),#f6f6f3}
.eyebrow,.section-number{font-size:10px;letter-spacing:1.5px;font-weight:760;color:#797b78}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow span{width:22px;height:1px;background:#b53589}
.intro h1{margin:18px 0 13px;font-size:clamp(30px,8vw,39px);font-weight:760;line-height:1.25;letter-spacing:0}.intro h1 em{font-style:normal;color:#a13086}.intro p{max-width:350px;margin:0;color:#666b68;font-size:13px;line-height:1.75}
.example-link{display:inline-flex;align-items:center;gap:14px;margin-top:17px;padding:0 0 4px;border:0;border-bottom:1px solid #a13086;background:transparent;color:#64295b;font-size:12px;font-weight:700}
.form-section{padding:26px 25px 29px;border-bottom:1px solid #e1e1dd}.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:20px}.section-head h2{margin:5px 0 0;font-size:21px;line-height:1.2;font-weight:750}.counter{font-size:12px;font-weight:700;color:#737773}
.photo-drop{min-height:175px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px dashed #b9bcb8;border-radius:7px;background:#fbfbf9;cursor:pointer}.photo-drop strong{font-size:15px}.photo-drop small{font-size:11px;color:#777c78}.upload-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:white;background:#191b1c;font-size:25px;font-weight:300;line-height:1}
.photo-drop:hover{border-color:#9d3587;background:#fff}.photo-strip{display:flex;gap:8px;overflow-x:auto;margin-top:12px;scrollbar-width:none}.photo-strip:empty{display:none}.photo-tile{position:relative;flex:none;width:83px;height:93px;border-radius:5px;overflow:hidden;background:#e5e3e0}.photo-tile img{width:100%;height:100%;object-fit:cover}.photo-tile button{position:absolute;top:4px;right:4px;width:24px;height:24px;border:0;border-radius:50%;background:#1a1a1acc;color:white;font-size:17px}.field-help{margin:12px 0 0;color:#747774;font-size:11px;line-height:1.65}
.field{display:grid;gap:9px;margin-top:22px}.field:first-of-type{margin-top:0}.field>span{font-size:13px;font-weight:700}.field small{font-size:11px;font-weight:450;color:#888b87}.field b{color:#ad3b60}.field input,.field textarea,.field select{width:100%;min-width:0;padding:13px 14px;border:1px solid #daddd8;border-radius:5px;background:#fff;color:#202321;font-size:13px;line-height:1.55;outline:none}.field textarea{min-height:94px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#9e438c;box-shadow:0 0 0 3px #a9378c17}.field input::placeholder,.field textarea::placeholder{color:#9c9f9b}.field-tight{margin-top:9px}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.choice{padding:9px 12px;min-height:39px;border:1px solid #d9dcd7;border-radius:4px;background:#fff;color:#4a4f4b;font-size:12px;line-height:1.2}.choice[aria-pressed=true]{border-color:#1d2220;background:#1d2220;color:white}.choice:hover{border-color:#a3328a}
.relationship-note{margin:11px 0 0;color:#676c68;font-size:11px;line-height:1.65}.relationship-note.is-warning{color:#a14749}.check-row{display:flex;align-items:flex-start;gap:10px;margin-top:22px;font-size:12px;line-height:1.6;color:#4d534f;cursor:pointer}.check-row input{width:18px;height:18px;flex:none;margin:1px 0 0;accent-color:#171b19}
.menu-picker{display:grid;grid-template-columns:118px minmax(0,1fr);height:265px;overflow:hidden;border:1px solid #daddd8;border-radius:5px;background:#fff}
.menu-categories,.menu-items{min-width:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.menu-categories{border-right:1px solid #e7e9e5;background:#f1f2ef}.menu-categories button{display:block;width:100%;min-height:44px;padding:10px 11px;border:0;border-left:3px solid transparent;background:transparent;color:#626964;text-align:left;font-size:12px;line-height:1.35}
.menu-categories button[aria-pressed=true]{border-left-color:#a13086;background:#fff;color:#1b201d;font-weight:740}
.menu-items{padding:7px}.menu-items button{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;min-height:43px;margin:0 0 5px;padding:9px 10px;border:1px solid transparent;border-radius:4px;background:#f4f5f2;color:#252a26;text-align:left;font-size:12px;line-height:1.4}
.menu-items button::after{content:"＋";flex:none;color:#89908a;font-size:17px;font-weight:300}.menu-items button[aria-pressed=true]{border-color:#b660a0;background:#f6eaf2;color:#642657;font-weight:700}.menu-items button[aria-pressed=true]::after{content:"✓";color:#9a2e81;font-size:12px}
.menu-selection{display:flex;align-items:center;justify-content:space-between;margin-top:7px;color:#777d77;font-size:11px}.menu-selection button{padding:5px 2px;border:0;background:transparent;color:#7a4171;text-decoration:underline;text-underline-offset:2px;font-size:11px}.selected-products{display:flex;flex-wrap:wrap;gap:6px}.selected-products:empty{display:none}.selected-products button{min-height:29px;padding:4px 8px;border:1px solid #dfc5d7;border-radius:3px;background:#fbf3f8;color:#7b3069;font-size:11px}.selected-products button::after{content:" ×";font-size:13px}.menu-note{margin:3px 0 0;color:#848a83;font-size:10px;line-height:1.5}
.form-actions{padding:25px 25px 37px}.generate-button,.share-button{width:100%;min-height:57px;padding:6px 8px 6px 21px;border:0;border-radius:5px;background:#171b19;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px;font-weight:720}.generate-button:disabled{opacity:.6;cursor:wait}.button-arrow,.share-button>span:last-child{width:43px;height:43px;display:grid;place-items:center;flex:none;border-radius:3px;background:#f8f8f5;color:#161b18;font-size:23px;font-weight:400}.under-cta{margin:12px 0 0;text-align:center;color:#898d89;font-size:10px}
#form-message,#copy-message{margin:0 0 12px;color:#a03742;font-size:12px;line-height:1.55}#form-message:empty,#copy-message:empty{display:none}
.result{padding:33px 24px 35px;border-top:1px solid #dedfdb;background:#eeefeb}.result-header h2{margin:8px 0 6px;font-size:25px;line-height:1.3}.result-header p{margin:0 0 20px;color:#727671;font-size:12px;line-height:1.6}.note-preview{overflow:hidden;border:1px solid #dedfdb;border-radius:7px;background:white;box-shadow:0 9px 24px #18201b0c}.preview-bar{height:56px;display:flex;align-items:center;gap:9px;padding:0 15px;font-size:12px;font-weight:690}.preview-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#232729;color:#fff;font-family:Georgia,serif;font-size:18px}.preview-dots{margin-left:auto;font-size:21px;line-height:1}.preview-photo{height:300px;background:#e1e3df;display:grid;place-items:center;background-position:center;background-size:cover}.preview-photo span{color:#777d78;font-size:10px;letter-spacing:2px}.preview-content{padding:18px 18px 21px}.preview-label{display:block;margin:9px 0 6px;color:#737873;font-size:10px;font-weight:700;letter-spacing:1px}.preview-content input,.preview-content textarea{display:block;width:100%;border:0;border-bottom:1px solid #e2e4df;padding:8px 0 12px;color:#171b19;background:transparent;outline:none}.preview-content input{font-size:18px;font-weight:740;line-height:1.35}.preview-content textarea{min-height:205px;resize:vertical;font-size:13px;line-height:1.75}.preview-tip{display:block;margin-top:12px;font-size:11px;color:#7b817c;line-height:1.5}.review-note{margin:14px 0;color:#7c5d39;font-size:11px;line-height:1.6}.result-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:9px;margin-top:20px}.secondary-button{border:1px solid #b8bcb6;background:transparent;color:#1b201c;border-radius:5px;font-size:13px;font-weight:700}.share-button{min-height:51px;padding-left:15px;font-size:13px;background:#1c2220}.share-button>span:last-child{width:37px;height:37px;font-size:20px}.regenerate-button{display:block;margin:16px auto 0;padding:6px;border:0;background:transparent;color:#646a65;text-decoration:underline;text-underline-offset:4px;font-size:12px}.result-disclaimer{margin:17px 0 0;color:#858a85;font-size:10px;line-height:1.6}.studio-footer{display:flex;flex-direction:column;gap:9px;padding:25px 25px max(30px,env(safe-area-inset-bottom));color:#838783;font-size:10px;line-height:1.4}.studio-footer span{letter-spacing:1px;font-weight:700}.studio-footer a{text-underline-offset:3px}
@media(min-width:600px){body{padding:30px 0}.studio{border-radius:8px;overflow:hidden}}@media(max-width:350px){.topbar{padding:0 17px}.topbar-end{font-size:8px}.form-section,.form-actions{padding-left:17px;padding-right:17px}.intro{padding-left:19px;padding-right:19px}.choice{font-size:11px;padding:8px 10px}.menu-picker{grid-template-columns:93px minmax(0,1fr)}.menu-categories button{font-size:11px;padding:9px 6px}.menu-items button{font-size:11px;padding:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
