.visitor-body{margin:0;background:#f4f1e9;color:#232e39;font-family:Pretendard, sans-serif}.visitor-body *{box-sizing:border-box}.visitor-body button,.visitor-body input{font:inherit}.visitor-body button{cursor:pointer}.visitor-body button:disabled{cursor:default;opacity:.45}.visitor-body button:focus-visible,.visitor-body a:focus-visible{outline:3px solid #719ab2;outline-offset:4px}.visitor-shell{max-width:580px;margin:auto;min-height:100svh;display:flex;flex-direction:column}.visitor-header{height:84px;padding:24px 30px;display:flex;align-items:center;justify-content:space-between;border:0;background:none}.visitor-brand{color:#232e39;font-size:25px;font-weight:800;line-height:.9;letter-spacing:-1px;text-decoration:none}.visitor-brand span{display:block;font-size:12px;letter-spacing:2px;margin-top:6px}.edition{font-size:10px;letter-spacing:1.6px;color:#69766f}.visitor-main{padding:4px 30px 12px;flex:1;display:flex;flex-direction:column;text-align:center;min-height:700px}.step-line{display:flex;justify-content:space-between;align-items:center;height:35px;font-size:11px;letter-spacing:1px;color:#627063;margin-bottom:19px}.step-line>*{min-width:36px}.step-line .plain{padding:0;font-size:24px;color:#27382f}.visitor-main h1{font-size:29px;line-height:1.38;letter-spacing:-1.2px;margin:0 0 12px;font-weight:750;word-break:keep-all}.visitor-description{font-size:14px;line-height:1.6;color:#69716c;margin:0 0 18px;word-break:keep-all}.visitor-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:280px}.visitor-actions{display:flex;flex-direction:column;gap:10px;margin-top:26px;padding-bottom:8px}.visitor-primary,.visitor-secondary{width:100%;border-radius:13px;min-height:56px;font-size:16px;font-weight:700;padding:14px 20px}.visitor-primary{color:#fffdf4;background:#283e34;border:1px solid #283e34;box-shadow:0 3px 0 #1c2b23}.visitor-primary:hover{background:#365443}.visitor-secondary{background:#fffdf7;border:1px solid #cbd0c3;color:#303d34}.visitor-main .plain{border:0;background:none;color:#677065;padding:8px;font-size:13px;text-decoration:underline;text-underline-offset:4px}.visitor-footer{padding:15px 20px 25px;text-align:center;font-size:10px;color:#899083}.action-note{font-size:11px;line-height:1.6;color:#7b8277;margin:6px 0 0}.sample-note{font-size:12px;line-height:1.6;color:#777c72;margin:0;word-break:keep-all}.single-avatar{width:190px;height:250px;object-fit:contain}.invitation{position:relative;width:100%;padding:16px 40px 26px}.invite-card{position:relative;z-index:1;border:1px solid #9da887;outline:5px solid #fbfaf1;background:#e7eccf;border-radius:130px 130px 16px 16px;padding:34px 14px 18px;box-shadow:0 12px 24px #43512d12;transform:rotate(-3deg)}.card-edition{font-size:9px;letter-spacing:2px;color:#5e6f4b}.invite-duo{display:flex;height:210px;align-items:flex-end;justify-content:center;overflow:hidden}.invite-duo img:first-child{height:250px;width:200px;object-fit:contain;margin:0 -58px -28px -25px}.invite-duo img:last-child{height:198px;width:130px;object-fit:contain;z-index:1}.invite-caption{display:block;font-size:26px;letter-spacing:2px;font-weight:800;margin-top:12px}.invite-caption i{font-size:17px;font-style:normal;color:#b2b680;margin:0 6px}.card-bottom{display:block;margin-top:13px;border-top:1px dashed #aeb897;padding-top:12px;font-size:11px;color:#6b7858}.floating{position:absolute;background:#e4e2f2;border:5px solid #fcfbf7;border-radius:50%;width:92px;height:115px;overflow:hidden;animation:float 5s ease-in-out infinite}.floating img{width:100%;height:100%;object-fit:contain}.f-one{left:0;top:60px;transform:rotate(-12deg)}.f-two{right:0;bottom:28px;background:#efdccb;animation-delay:-2s;z-index:2}@keyframes float{50%{translate:0 -12px}}.photo-guide{display:flex;align-items:center;justify-content:center;width:100%;height:220px}.photo-guide .single-avatar{width:130px;height:180px}.portrait-placeholder{width:130px;height:180px;border:1px solid #d6d9cb;border-radius:65px 65px 15px 15px;background:#e3e9d6;display:grid;place-items:center;color:#a8b595;font-size:72px}.guide-arrow{font-size:24px;color:#7f8b6d;margin:0 12px}.guide-copy{font-size:14px;line-height:1.75;color:#596451}.photo-confirm,.camera-frame{width:100%;max-width:280px;height:315px;object-fit:cover;border-radius:20px;background:#e3e7d9}.camera-frame{overflow:hidden}.camera-frame video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.candidate-main{background:#e8eccf;border-radius:120px 120px 18px 18px;width:240px;padding:4px 18px 10px}.candidate-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%}.candidate-options button{background:#fcfbf5;border:1px solid #d7d9cb;border-radius:14px;padding:10px 4px;color:#596052}.candidate-options button[aria-pressed=true]{border:2px solid #344d39;background:#e8edda}.candidate-options img{width:100%;height:96px;object-fit:contain;display:block}.candidate-options span{font-size:12px}.name-avatar .single-avatar{height:230px}.field-label{width:100%;text-align:left;font-size:13px;font-weight:700}.name-input{width:100%;border:0;border-bottom:2px solid #9dab8b;padding:16px 8px;background:transparent;font-size:23px!important;text-align:center;color:#283c32;outline-offset:4px}.pose-options{display:flex;flex-direction:column;gap:11px;width:100%}.pose-options button{display:flex;align-items:center;text-align:left;gap:14px;border:1px solid #d2d5c5;background:#fcfbf5;border-radius:14px;padding:16px}.pose-options button[aria-pressed=true]{border:2px solid #526847;background:#e7edda;padding:15px}.pose-icon{width:48px;height:52px;display:grid;place-items:center;background:#eeeede;border-radius:12px;font-size:29px;font-weight:800;color:#586d47}.pose-options strong{font-size:16px;color:#344035}.pose-options small{font-size:9px;background:#e9ce83;padding:3px 5px;border-radius:4px;margin-left:8px;vertical-align:middle}.pose-description{display:block;font-size:11px;color:#778070;margin-top:7px}.pose-check{margin-left:auto;font-size:18px;color:#6a7c5b}.design-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;margin-top:2px}.design-options button{border:1px solid #d0d5c5;border-radius:10px;padding:10px 6px;background:#fffdf7;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:#53624c}.design-options button[aria-pressed=true]{border:2px solid var(--accent);padding:9px 5px}.swatch{display:grid;place-items:center;width:28px;height:36px;background:var(--swatch);color:var(--accent);border-radius:7px;font-size:21px;font-weight:800}.result-canvas{display:block;max-width:100%;width:300px;height:auto;aspect-ratio:3/4;border-radius:14px;box-shadow:0 8px 24px #26362117}.design-preview{width:264px}.work-status{width:100%;padding:10px 6px;font-size:14px}.work-status progress{display:block;width:100%;height:12px;accent-color:#526b43;margin:20px 0 12px;border-radius:8px;overflow:hidden}.work-status progress::-webkit-progress-bar{background:#e0e4d5;border-radius:8px}.work-status progress::-webkit-progress-value{background:#526b43;border-radius:8px}.work-status progress:indeterminate{background:linear-gradient(90deg,#e0e4d5,#8da173,#e0e4d5);animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.45}}#work-detail{font-size:12px;color:#79866e}.result-wrap{position:relative;max-width:100%}.result-replay{position:absolute;right:12px;bottom:12px;border:1px solid #c1cbb3;background:#fffdf0ee;border-radius:20px;padding:8px 12px;color:#445637;font-size:12px}.pose-pager{display:flex;align-items:center;gap:18px;justify-content:center}.pose-pager button{border:1px solid #cbd2c1;border-radius:50%;width:34px;height:34px;background:#fbfaf3;color:#516441;font-size:20px}.pose-pager span{font-size:12px;color:#617155}.visitor-modal{border:0;border-radius:24px 24px 0 0;padding:26px 24px 32px;max-width:540px;width:100%;margin:auto auto 0;background:#f9f7ee;color:#2e3d31;max-height:90svh;overflow:auto}.visitor-modal::backdrop{background:#18291e88}.visitor-modal h2{font-size:23px;margin:3px 0 12px}.visitor-modal .close-sheet{float:right;border:0;background:none;font-size:24px;color:#637454}.sheet-actions{display:flex;flex-direction:column;gap:10px;margin:20px 0}.sheet-note{font-size:12px;line-height:1.7;color:#738168}.tv-consent{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.7;text-align:left;background:#e9eddc;padding:18px;border-radius:14px}.tv-consent input{margin-top:5px;accent-color:#425b36;width:18px;height:18px}.tv-illustration{font-size:48px;border:5px solid #65765b;background:#e1e8d4;border-radius:14px;padding:24px 40px;color:#65765b;margin:30px 0}.inline-error{font-size:12px;color:#9c4334;line-height:1.6}
@media(min-width:700px){.visitor-shell{background:#faf8f0;border-left:1px solid #e8e7dc;border-right:1px solid #e8e7dc}.visitor-main{padding-left:52px;padding-right:52px;min-height:690px}.invitation{max-width:380px}.visitor-actions{margin-top:26px}.visitor-header{padding-left:40px;padding-right:40px}}
@media(max-width:390px){.visitor-header{height:68px;padding:18px 22px}.visitor-main{padding:0 22px 12px;min-height:650px}.visitor-main h1{font-size:25px}.pose-options button{gap:10px}.pose-description{font-size:10px}.invite-duo{height:180px}.invite-duo img:first-child{height:215px}.invite-duo img:last-child{height:180px}.invitation{padding-left:32px;padding-right:32px}}
@media(prefers-reduced-motion:reduce){.floating{animation:none}.visitor-body *{scroll-behavior:auto}}

/* Keep the invitation caption clear of the floating character. */
.f-two{width:74px;height:92px;right:-7px;bottom:4px}
.visitor-body .result-wrap .result-canvas{width:270px}

/* Selected LoL card backgrounds, shared by maker and saved-card editor. */
.background-choices{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}.background-choices button{min-width:0}.background-choices button>span:last-child{font-size:11px;word-break:keep-all}.background-choices .background-swatch{background-size:cover!important;background-position:center!important;aspect-ratio:3/4;height:auto!important}.design-options{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.design-options button{min-width:0!important;width:auto!important}.design-options .swatch{display:block;aspect-ratio:3/4;width:100%;height:auto!important;background-size:cover;background-position:center}.design-options button>span:last-child{font-size:11px;word-break:keep-all}
#new-design-preview{display:block;margin-inline:auto}.design-options .swatch{width:48px!important;height:64px!important;margin-inline:auto;max-width:none}
.generated-pose-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}.generated-pose-review{margin:0;background:#fcfbf5;border:1px solid #d2d5c5;border-radius:16px;overflow:hidden}.generated-pose-review img{display:block;width:100%;aspect-ratio:3/4;object-fit:contain;background:#f2f1e9}.generated-pose-review figcaption{display:grid;gap:4px;padding:10px;text-align:left}.generated-pose-review figcaption strong{font-size:14px}.generated-pose-review figcaption span{font-size:10px;line-height:1.5;color:#70796c}
