@font-face{font-family:Lato;src:url('fonts/lato/Lato-Regular.ttf')}@font-face{font-family:Prata;src:url('fonts/prata/Prata-Regular.ttf')}*{box-sizing:border-box}body{margin:0;background:#f6f4ff;color:#27203e;font:16px/1.6 Lato,Arial,sans-serif}header{padding:22px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ded8ed;gap:20px}.wordmark{font:26px Prata,Georgia;color:inherit;text-decoration:none}.wordmark i{color:#7546b7}nav{display:flex;gap:22px;font-size:14px}a{color:#5f3998;text-underline-offset:4px}main{max-width:850px;margin:auto;padding:30px 24px 70px}h1{font:48px/1.2 Prata,Georgia;margin:20px 0}h1 i{color:#8051b8}h2{font:24px Prata,Georgia}.lead{font-size:20px;color:#5e536f;max-width:660px}.eyebrow{font-size:12px;letter-spacing:2px;color:#6d527e;margin-top:30px}label{display:block;margin:20px 0;font-size:15px;font-weight:bold}input,select{width:100%;padding:13px;border:1px solid #cfc4df;border-radius:8px;background:white;font:16px Lato;margin-top:8px;color:#27203e}button{padding:13px 18px;min-height:48px;border:1px solid #b5a6c9;border-radius:8px;background:white;color:#48345f;font:16px Lato;cursor:pointer}button:disabled{opacity:.5;cursor:default}.primary{background:#654095;color:#fff;border-color:#654095}.danger{color:#8f3341;border-color:#c79aa5}.choices{display:grid;grid-template-columns:1fr 1fr;gap:18px}.question-edit,.comparison{padding:22px;background:white;border-radius:12px;margin:18px 0;border:1px solid #e4dcef}.question-edit h2{font:19px/1.5 Lato;margin:0 0 15px}.option-grid,.answer-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.option-grid button{text-align:left;font-size:15px}.option-grid button.selected,.answer-options button.selected{background:#eee2ff;border:2px solid #8051b8}.answer-options button{min-height:75px;text-align:left}.notice{padding:12px 16px;background:#e9e1f5;border-radius:6px;font-size:14px}.privacy{font-size:14px;color:#6b607a;line-height:1.6}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.progress{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px}progress{accent-color:#8051b8;width:50%}.ad-slot{margin:40px 0 25px;border:1px dashed #bcb0cd;padding:22px;text-align:center;font-size:13px;color:#83738e}.comparison p{margin:7px 0}.comparison b{color:#603b88}.print-link{display:block;padding:20px;border-radius:8px;background:#fff;text-align:center}.distribution-row{margin:12px 0}.distribution-row span{display:block;font-size:14px}.distribution-row meter{width:100%;height:18px}.balance{font:42px Prata;margin:15px 0}.card{padding:25px;background:white;border:1px solid #e4dcef;border-radius:12px;margin:20px 0}.price-row{display:flex;justify-content:space-between;gap:15px;margin:12px 0}.total{border-top:1px solid #ddd;padding-top:12px;font-size:21px}.small{font-size:14px;color:#6b607a}footer{text-align:center;padding:25px 5%;font-size:13px;color:#70637e;border-top:1px solid #ded8ed}[hidden]{display:none!important}#message:empty{display:none}#message{padding:12px;color:#8a3545;background:#fff0f3;border-radius:6px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #aa72dd;outline-offset:3px}@media(max-width:620px){header{align-items:flex-start;flex-direction:column;padding:18px 22px;gap:12px}nav{flex-wrap:wrap;gap:15px}main{padding:20px 18px 50px}h1{font-size:35px}.lead{font-size:18px}.choices,.option-grid,.answer-options{grid-template-columns:1fr}.question-edit{padding:18px}.actions>button{flex:1}.wordmark{font-size:24px}}
.question-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.question-head h2{margin:0}.question-head button{font-size:14px;padding:9px 12px}.question-edit label{margin:15px 0}.editable-option{display:flex;gap:6px;align-items:center}.editable-option input{margin:0;min-width:0}.editable-option button{font-size:12px;min-width:78px;padding:9px;flex-shrink:0}.score-badge{display:inline-block;background:#654095;color:white;border-radius:100px;padding:12px 24px;font-size:22px;margin:12px 0 26px}.leaderboard{list-style:none;margin:20px 0;padding:0}.leaderboard li{display:flex;align-items:center;gap:16px;border-bottom:1px solid #ded5ed;padding:18px;background:white}.leaderboard .rank{font-size:22px;color:#7546b7;min-width:44px}.leaderboard li>div{flex:1;min-width:0;overflow-wrap:anywhere}.leaderboard small{display:block;color:#746981}.leaderboard li>b{white-space:nowrap;font-size:20px}
.question-head{align-items:flex-start}.question-head h2{line-height:1.5;flex:1}.question-tools{display:flex;gap:6px;flex-shrink:0}.question-tools .edit-question{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:8px}.question-edit .option-grid button{min-height:60px;font-size:16px;padding:14px}.question-form{margin-top:18px;border-top:1px solid #e5dcec;padding-top:4px}.question-form label{font-size:14px}.question-form .actions{margin:12px 0 0}.inline-error:not(:empty){padding:12px 14px;background:#fff0f3;border:1px solid #e2a6b0;border-radius:8px;color:#8a3545;margin:12px 0}.inline-error:empty{display:none}.question-error{font-size:14px;color:#943546;margin:10px 0 0}.missing-answer{border:2px solid #c46d80}.question-edit .option-grid button.selected{background:#e9dcff;border:2px solid #7546b7;box-shadow:inset 4px 0 #7546b7}@media(max-width:480px){.question-head{flex-wrap:wrap}.question-head h2{min-width:100%}.question-tools{margin-left:auto}}
.portrait-card{background:#fff;border:1px solid #ded2ec;border-radius:20px;padding:30px;margin:24px 0}.portrait-card h2{font-size:38px;margin:10px 0}.portrait-card h3{font-size:18px;margin-top:26px}.portrait-card>p{line-height:1.8}.portrait-figure{width:min(330px,100%);aspect-ratio:1;margin:0 auto;background-image:url('portrait-character-atlas.png');background-repeat:no-repeat;background-size:200% 400%}.portrait-tagline{font-size:21px;color:#7546b7}.portrait-axes{display:grid;gap:10px;margin:24px 0}.portrait-axis{display:flex;justify-content:space-between;gap:14px;padding:12px 15px;background:#f5f0fc;border-radius:8px}.portrait-axis span{color:#6b5086}.share-profile-choice{display:flex;align-items:flex-start;gap:12px;line-height:1.6}.share-profile-choice input{width:22px;height:22px;margin:2px 0 0;flex:none}.portrait-card li{margin:7px 0}@media(max-width:500px){.portrait-card{padding:20px}.portrait-card h2{font-size:29px}.portrait-tagline{font-size:18px}.portrait-axis{font-size:14px}.portrait-figure{max-width:280px}}
.creator-progress{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f6f4fff2;border-bottom:1px solid #ded2ec;padding:12px 0;margin-top:20px;font-size:14px;backdrop-filter:blur(8px)}.creator-progress button{font-size:13px;padding:8px 10px;min-height:40px}.portrait-method{background:#eee6f7;padding:12px 16px;border-radius:8px;font-size:14px}.portrait-method summary{cursor:pointer}
.replace-question{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:9px!important;flex-shrink:0}.replace-question svg{pointer-events:none}.portrait-owner{font-size:16px;color:#7546b7;font-weight:700;margin:0 0 12px}.portrait-axis-bar{padding:14px 0}.axis-heading,.axis-ends{display:flex;justify-content:space-between;gap:12px}.axis-heading span{font-size:20px;font-weight:700;color:#7546b7}.axis-track{height:12px;border-radius:20px;background:#e9e1f2;overflow:hidden;margin:10px 0 7px}.axis-track>span{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#a37ace,#654095)}.axis-ends{font-size:13px;color:#736681}.axis-note{font-size:12px;color:#82778b;line-height:1.5}.portrait-story{font-size:17px;line-height:1.85;color:#51455f}.portrait-story:empty{display:none}#friendOwnerPortrait{border-top:2px solid #d8c9e8;padding-top:20px;margin-top:35px}
.matchups{margin-top:30px;padding-top:8px;border-top:1px solid #e3d9ed}.matchup-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.matchup-item{padding:14px;background:#f8f4fd;border-radius:12px}.matchup-item strong{display:block;font-size:16px}.matchup-item p{font-size:14px;line-height:1.6;margin-bottom:0}.matchup-art{width:100px;aspect-ratio:1;margin:0 auto 14px;background-image:url('portrait-character-atlas.png');background-repeat:no-repeat;background-size:200% 400%}.comparison-card{padding:28px;background:#eee3fb;border:1px solid #d8c4ef;border-radius:16px;margin:24px 0}.comparison-card h2{font-size:28px}@media(max-width:380px){.matchup-grid{grid-template-columns:1fr}}
.portrait-tip{border-left:3px solid #ae8dd1;background:#f6f0fc;padding:15px 18px;border-radius:0 8px 8px 0;font-size:15px}.portrait-description[hidden]{display:none}
.portrait-owner,.comparison-card h2,#resultTitle,#createdInfo{overflow-wrap:anywhere}

.creator-step-progress{margin-top:24px}.creator-step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:16px}.question-head .replace-question{min-height:44px;line-height:0;align-self:flex-start}.replace-question svg{display:block;flex:none;overflow:visible}.question-edit h2:focus{outline:none}@media(max-width:480px){.question-head{flex-wrap:nowrap}.question-head h2{min-width:0}.creator-step-actions button{min-width:100px}}

.question-head .replace-question{border:0;background:transparent;padding:12px!important;box-shadow:none}.replace-question svg{width:17px;height:17px}.creator-step-actions{align-items:flex-start;position:relative}.creator-final{display:contents}.creator-step-actions #createError{position:absolute;bottom:100%;left:0;right:0;margin-bottom:8px}.creator-step-actions:has(#createError:not(:empty)){margin-top:80px}.creator-step-actions #create{margin-left:auto;white-space:normal;max-width:calc(100% - 112px);min-width:0;font-size:15px;padding:13px 16px}
.creator-step-actions{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px}.creator-step-actions #createError{position:static;grid-column:1/-1;grid-row:1;margin:0}.creator-step-actions #creatorBack{grid-column:1;grid-row:2}.creator-step-actions #creatorNext,.creator-step-actions #create{grid-column:2;grid-row:2;justify-self:end;max-width:100%;margin:0}.creator-step-actions:has(#createError:not(:empty)){margin-top:16px}

.portrait-figure svg,.matchup-art svg{display:block;width:100%;height:100%;overflow:hidden}
/* Keep replacement aligned to the first question line at every viewport width. */
.question-head{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:12px}
.question-head h2{grid-column:1;grid-row:1;min-width:0;overflow-wrap:anywhere}
.question-head .replace-question{grid-column:2;grid-row:1;justify-self:end;align-self:start;margin-top:-8px;min-height:44px}

.story-share-panel{display:grid;grid-template-columns:minmax(160px,230px) minmax(0,1fr);gap:28px;padding:24px;background:#fff;border:1px solid #e4dcef;border-radius:16px;align-items:start}.story-card-preview{display:flex;justify-content:center;align-items:center;background:#f2ecfa;border-radius:12px;overflow:hidden;min-height:240px}.story-card-preview canvas{width:100%;height:auto;display:block}.share-tools h2{margin:0 0 12px}.share-primary-actions{gap:10px;margin:18px 0}.share-primary-actions button{flex:1;min-width:145px}.share-tools .privacy{padding:12px;background:#f5f0fc;border-radius:8px}.link-button{border:0;background:transparent;text-decoration:underline;padding:10px 0;min-height:44px}.question-error:focus{outline:none}#questionChangeNotice:empty{display:none}#result>.actions{margin-top:0}#resultTitle{font-size:clamp(30px,5vw,48px)}
@media(max-width:620px){.story-share-panel{grid-template-columns:1fr;padding:18px;gap:18px}.story-card-preview{max-width:160px;justify-self:center;min-height:0}.share-primary-actions{display:grid;grid-template-columns:1fr}.share-primary-actions button{width:100%}.share-tools h2{font-size:22px}}

.result-story-preview{max-width:250px;min-height:0;margin:20px auto}.result-story-preview canvas{width:100%;height:auto}
/* Clear interaction feedback without changing touch target sizes. */
button,a{transition:background-color .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease}
button:not(:disabled):hover{background:#f0e7fb;border-color:#9272b4}
button.primary:not(:disabled):hover{background:#55317e;border-color:#55317e;color:#fff}
button:not(:disabled):active{transform:translateY(1px)}
button:disabled{cursor:not-allowed;background:#f0edf4;color:#766b82;border-color:#d8d0e1;opacity:1}
.option-grid button.selected:hover,.answer-options button.selected:hover{background:#e4d4fa;border-color:#7546b7}
.question-head .replace-question:not(:disabled):hover{background:#efe5fc;border:0}
.link-button:not(:disabled):hover{background:transparent;color:#492072;text-decoration-thickness:2px}
a:hover{text-decoration-thickness:2px;color:#492072}
.button-icon{width:18px;height:18px;flex:none;vertical-align:-3px;margin-right:7px;pointer-events:none}
@media(prefers-reduced-motion:reduce){button,a{transition:none}button:not(:disabled):active{transform:none}}

.creator-progress button{min-height:44px}.question-edit h2:focus-visible,.question-error:focus-visible{outline:3px solid #aa72dd;outline-offset:4px;border-radius:4px}

.friend-profile-preview,.profile-visibility-settings,.result-owner-profile{margin-block:2rem}.private-profile-placeholder{padding:1.25rem;border:1px dashed #b4a6c4;border-radius:18px;background:#f7f3fb;color:#534661}.friend-profile-preview>h2,.profile-visibility-settings>h2{font-size:1.5rem}.result-owner-profile .portrait-card{margin-top:1rem}

/* Reserve the same border and question space through selection and replacement. */
.option-grid button,.answer-options button{border-width:2px}
.question-head{min-height:72px;margin-bottom:16px}
#questionText{min-height:3.6em;font-size:clamp(27px,5vw,42px);overflow-wrap:anywhere}
#questionChangeNotice{min-height:1.6em;margin-block:12px}
#questionChangeNotice:empty{display:block}
.action-status{font-size:14px;color:#4d3867;overflow-wrap:anywhere}
.action-status:empty{display:none}
.action-status[data-state="error"]{color:#8a3545}
button[aria-busy="true"]{cursor:progress}
@media(max-width:620px){.question-head{min-height:90px}.creator-step-actions button{min-height:48px}#player .actions{display:grid;grid-template-columns:1fr 1fr}#questionText{min-height:4.8em}}
