:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#262422;background:#f7f2e8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a.primary{cursor:pointer}button,textarea{font:inherit}button,.primary,.secondary{border:1.5px solid #262422;border-radius:12px;padding:13px 18px;min-height:48px;font-weight:650;font-size:15px;background:transparent;color:inherit;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,.primary:hover{filter:brightness(.96)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #7354d1;outline-offset:4px}[hidden]{display:none!important}header{max-width:1120px;margin:auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between}.logo{font-size:36px;font-weight:900;letter-spacing:-2px;color:inherit;text-decoration:none}.logo span{color:#ed7053;margin-left:5px}.quiet{border:0;font-size:14px}.intro{padding:26px 0 30px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800}h1{font-size:clamp(35px,4.5vw,58px);line-height:1.06;letter-spacing:-2.4px;margin:18px 0}h1 span{color:#7b7590}.intro p{font-size:18px;color:#68636b;margin:0}main{max-width:1064px;padding:0 28px;margin:auto}.workspace{display:grid;grid-template-columns:1fr 1fr;gap:22px}.card{background:#fffdf8;border:1.5px solid #dcd5c9;border-radius:22px;padding:25px;box-shadow:0 5px 0 #e7e0d4}.step{display:flex;align-items:center;gap:12px;margin-bottom:18px}.step>span{background:#e9e1fa;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:13px;font-weight:750}h2{font-size:22px;letter-spacing:-.6px;margin:0}.photo-stage{height:280px;background:#e9e1fa;border:1px dashed #b6a5d5;border-radius:15px;display:grid;place-items:center;text-align:center;overflow:hidden}.face{font-size:70px;letter-spacing:6px;transform:rotate(-8deg);color:#4b386b}.photo-stage p{color:#655676;font-size:14px}.photo-stage img,.photo-stage video{width:100%;height:100%;object-fit:cover}.photo-stage video{transform:scaleX(-1)}.photo-actions,.result-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.photo-actions>*{flex:1;white-space:nowrap}.primary{background:#262422;color:#fffdf8}.secondary{background:#fffdf8;border-color:#d0c8ba}.muted{color:#726b75;font-size:15px;line-height:1.6;margin:0 0 16px}.record{width:100%;background:#fbe2d9;border-color:#edb6a3}.record span{color:#bb4b35}.record.recording{background:#bd4537;color:white}.record.recording span{color:white;animation:pulse 1s infinite}.hint{font-size:12px;color:#78717d;line-height:1.5;margin:9px 0 18px}label{display:block;font-size:13px;font-weight:750;margin-bottom:8px}textarea{width:100%;resize:vertical;border:1px solid #dcd5c9;border-radius:12px;padding:12px;background:#fcfaf6;line-height:1.5;font-size:16px;min-height:106px}.generate{width:100%;display:flex;justify-content:space-between;background:#dbed8c;border-color:#a4b763;font-size:18px}.privacy{font-size:11px;line-height:1.5;color:#817982;margin:13px 0 0}#status{font-size:15px;line-height:1.6;margin:24px 0;text-align:center}#status.error{color:#ad382a}.result{max-width:620px;margin:28px auto}.result img{width:100%;border-radius:12px;display:block}.result-actions>*{flex:1}footer{display:flex;justify-content:space-between;color:#7c7580;padding:26px 0;font-size:12px}footer span{color:#ed7053;font-size:25px}dialog{border:1px solid #dcd5c9;border-radius:20px;padding:26px;max-width:calc(100% - 32px);width:410px;background:#fffdf8}dialog::backdrop{background:#26242288}dialog p{line-height:1.6}.notice{padding:10px 14px;background:#ffe7ac;border-radius:10px;margin-bottom:18px;font-size:13px}@keyframes pulse{50%{opacity:.3}}@media(max-width:650px){header{padding:14px 18px}.logo{font-size:31px}main{padding:0 16px}.intro{padding:13px 2px 22px}h1{font-size:36px;letter-spacing:-1.5px;margin:12px 0}.intro p{font-size:15px}.workspace{grid-template-columns:1fr;gap:18px}.card{padding:18px;border-radius:18px}.photo-stage{height:210px}.step{margin-bottom:14px}h2{font-size:21px}.photo-actions{margin-top:14px}.mood-card .hint{margin-bottom:14px}footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}}
