*{box-sizing:border-box}body{margin:0;background:#10131c;color:#f2eee9;font-family:system-ui,-apple-system,Noto Sans JP,sans-serif}main{max-width:880px;margin:0 auto;padding:24px 20px 50px}h1{font-size:clamp(24px,5vw,38px);line-height:1.3;margin:10px 0 14px}h2{font-size:19px}header p,.notes p{color:#adb4c3;line-height:1.8}.eyebrow{letter-spacing:.3em;color:#dfb78e;font-weight:700}.eyebrow span{font-size:12px;letter-spacing:.18em;color:#a1a2ac}.scene{width:100%;position:relative;background:#1c1e28;border:1px solid #5f5c66;border-radius:14px;overflow:hidden;margin-top:20px}.phaser-stage{width:100%;aspect-ratio:800/430}.phaser-stage canvas{display:block;max-width:100%}.scene-label{position:absolute;bottom:12px;left:15px;color:#e8dfd6;background:#151820d9;padding:6px 10px;border-radius:5px;font-size:13px;pointer-events:none}.stage-status{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#1c1e28;color:#dbc09e}.controls{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.controls button,.playback button,.playback select{background:#292f41;border:1px solid #586079;color:#fff;border-radius:9px;padding:12px 18px;min-height:46px;font-size:15px;cursor:pointer}.controls button.selected{background:#8d6043;border-color:#e0b58d}.playback{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.playback button.secondary{background:#343947}.playback label{color:#bcb4a9;font-size:14px;margin-left:8px}.playback select{max-width:190px}.notes{border-top:1px solid #333848;margin-top:24px}.notes p{font-size:14px}.notes strong{color:#edd0a9}.notes .finished{color:#bfe1c6}@media(max-width:600px){main{padding:17px 14px}.controls button{flex:1 0 28%;padding:12px 8px}.playback{justify-content:flex-start}.playback select{flex:1;min-width:130px}}.variant-switch{display:flex;gap:10px;margin-top:18px}.variant-switch button{background:#242b3b;border:1px solid #526075;border-radius:9px;color:#eae8e2;font-size:15px;padding:12px 20px;min-height:44px;cursor:pointer}.variant-switch button.selected{background:#8d6043;border-color:#e0b58d}.controls button:disabled{opacity:.42;cursor:not-allowed}.controls button:disabled:hover{background:#292f41}@media(max-width:600px){.variant-switch button{flex:1;padding:10px 6px;font-size:14px}.controls button:disabled{font-size:12px}}.variant-switch{flex-wrap:wrap}.variant-switch button{flex:1 1 170px}.variant-switch.male-switch{margin-top:10px}.variant-switch.male-switch button{flex:1 1 170px}@media(max-width:600px){.variant-switch{gap:8px}.variant-switch button{flex:1 1 30%;font-size:12px;padding:10px 5px}.variant-switch.male-switch button{flex:1 1 30%}}.variant-heading{font-size:17px;margin:20px 0 0;color:#e9caad}.female-switch{margin-top:9px}.female-switch button{border-color:#74645c;min-height:48px}.legacy-options{border-top:1px solid #343849;margin-top:20px;padding-top:14px}.legacy-options summary{cursor:pointer;color:#aeb7c9;font-size:14px;padding:7px 2px}.legacy-options[open] summary{color:#f1d5b2}@media(max-width:600px){.female-switch button{flex:1 1 30%;font-size:13px}.legacy-options summary{font-size:13px}}.revision-art{margin:24px 0 22px;padding:14px;border:1px solid #63554d;border-radius:14px;background:#20212b}.revision-art-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 10px}.revision-art h2{font-size:19px;margin:0;color:#f0d1b1}.revision-art-heading span{border:1px solid #82705f;border-radius:8px;color:#d7c0a9;padding:4px 8px;font-size:12px}.revision-art img{display:block;width:100%;height:auto;border-radius:9px;background:#39333b}.revision-art p{font-size:13px;line-height:1.75;color:#c6bdc1;margin:12px 2px 0}.revision-art strong{color:#f2d0ab}@media(max-width:600px){.revision-art{margin-top:16px;padding:9px}.revision-art h2{font-size:16px}.revision-art p{font-size:12px}}.creator{margin-top:14px;padding:15px;border:1px solid #545260;border-radius:12px;background:#1b202c}.creator-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}.creator-head h2{margin:0;font-size:18px;color:#edd7ba}.creator-head p{margin:6px 0 0;font-size:12px;color:#aeb7c3;line-height:1.6}.generation{padding:6px 10px;border:1px solid #63574b;border-radius:8px;color:#eac8a8;font-size:12px;white-space:nowrap}.creator-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.creator-fields label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#c7c4c2}.creator-fields select{width:100%;min-width:0;padding:11px 8px;border:1px solid #596071;border-radius:8px;color:#fff;background:#292f40;font-size:14px}.creator-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.creator-actions button{background:#343847;border:1px solid #696172;color:#f5e9e0;border-radius:9px;padding:10px 13px;cursor:pointer;font-size:13px;min-height:42px}.creator-actions button:first-child{background:#705039;border-color:#cfa27d}.creator-hint{font-size:12px;line-height:1.7;color:#aeb4c1;margin:12px 0}.creator-roster{border-top:1px solid #383d4c;margin-top:12px;padding-top:10px}.roster-header{display:flex;justify-content:space-between;align-items:center;color:#ddc8a9;font-size:13px}.roster-header span,.empty-roster{color:#9ca6b9;font-size:12px}.roster-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.roster-entry{display:flex;align-items:center;gap:1px;background:#2a3240;border:1px solid #4d586b;border-radius:8px}.roster-entry button{background:transparent;border:0;color:#f0ebe6;padding:8px 10px;cursor:pointer;font-size:12px}.roster-entry span{color:#bbb8b2}.roster-entry .remove-entry{padding:8px 10px;color:#dcb4ae}.creator-notice,.lineage-info{color:#cbdbba;font-size:12px;line-height:1.6}@media(max-width:600px){.creator{padding:12px}.creator-actions button{flex:1 1 42%;padding:10px 6px}.creator-fields{gap:6px}.creator-fields select{font-size:13px}.creator-head p{max-width:290px}}.creator-subheading{font-size:13px;letter-spacing:.04em;color:#dfc19e;margin:15px 0 0}.creator-face-fields{padding:10px;border:1px solid #635c63;border-radius:9px;background:#704f4121}.creator-face-fields select{border-color:#8b7568}@media(max-width:600px){.creator-face-fields{padding:7px}.creator-subheading{margin-top:12px}.creator-face-fields select{font-size:12px}}.face-shape-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}.face-shape-switch button{min-height:45px;background:#292f40;border:1px solid #655c60;color:#ece7e2;border-radius:9px;cursor:pointer;font-size:13px;padding:10px 6px}.face-shape-switch button.selected{background:#8d6043;border-color:#e0b58d;font-weight:700}.face-shape-switch button:focus-visible{outline:2px solid #f1d8b9;outline-offset:2px}@media(max-width:600px){.face-shape-switch{gap:6px}.face-shape-switch button{min-height:42px;font-size:12px}}.face-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:10px}.face-preset{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:5px 3px 8px;background:#262b37;border:1px solid #615960;border-radius:10px;color:#e8e3df;cursor:pointer}.face-preset canvas{display:block;width:100%;max-width:112px;height:auto;aspect-ratio:112/120;border-radius:6px;background:linear-gradient(145deg,#333440,#20222d)}.face-preset span{font-size:12px;font-weight:500;white-space:nowrap}.face-preset.selected{border-color:#d7aa79;background:#694934;box-shadow:inset 0 0 0 1px #d7aa79}.face-preset:focus-visible{outline:2px solid #f7d6a7;outline-offset:2px}@media(max-width:680px){.face-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.face-preset span{font-size:12px}}.modular-parts{margin-top:10px;padding:10px;border:1px solid #554b51;background:#191c26;border-radius:10px}.layer-slot-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.layer-slot-tabs button{min-height:42px;background:#2c3040;border:1px solid #625d66;color:#e2ddd7;border-radius:8px;font-size:13px;cursor:pointer}.layer-slot-tabs button.selected{background:#8d6043;border-color:#deb182;color:#fff}.part-description{color:#aeb3c0;font-size:12px;line-height:1.55;margin:10px 0 7px}.modular-parts>.part-description:last-child{margin:9px 2px 0}.head-style-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.head-style-option{display:flex;align-items:center;flex-direction:column;gap:6px;border-radius:9px;min-width:0;padding:7px 3px;background:#292c38;color:#eeece9;border:1px solid #625965;cursor:pointer}.head-style-option.selected{border-color:#e7b681;box-shadow:inset 0 0 0 1px #b6875f;background:#654d3a}.head-style-option canvas{width:100%;max-width:110px;height:auto;aspect-ratio:110/114;display:block;border-radius:5px;background:linear-gradient(#36303b,#252531)}.head-style-option span{font-size:12px}.head-style-option:focus-visible,.layer-slot-tabs button:focus-visible{outline:2px solid #f1d3a5;outline-offset:2px}@media(max-width:600px){.modular-parts{padding:8px}.head-style-option{padding:5px 3px}.head-style-options{gap:6px}.head-style-option canvas{max-width:104px}}.temperament-editor{display:grid;grid-template-columns:auto minmax(100px,170px);align-items:center;gap:8px 12px;margin-top:13px;padding:10px;border:1px solid #4f4f5a;border-radius:9px;background:#212630}.temperament-editor label{font-size:13px;color:#e6c9ac}.temperament-editor select{min-height:40px;min-width:0;border:1px solid #697082;background:#2b3040;color:#faf9f5;border-radius:8px;padding:7px}.temperament-editor span{grid-column:1/-1;color:#aaaeb9;font-size:12px;line-height:1.5}.roster-entry small{color:#b7ad9f;font-size:10px;margin-left:3px}.roster-entry button:disabled{opacity:.28;cursor:default}.age-field{justify-content:center}.age-field input{width:100%;margin:7px 0 5px;accent-color:#bc8f70;cursor:pointer;min-height:32px}.age-field input:focus-visible{outline:2px solid #efd2ae;outline-offset:4px}.candidate-section{margin-top:15px;padding:12px;border:1px solid #5d514d;background:#191d26;border-radius:10px}.candidate-section h3{font-size:15px;color:#e5c7a8;margin:0 0 6px}.candidate-section p{font-size:11px;color:#aab1bd;line-height:1.6;margin:0 0 9px}.candidate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.candidate-grid button{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:5px 4px 9px;color:#f0e9df;background:#292e3c;border:1px solid #5b6070;border-radius:9px;cursor:pointer}.candidate-grid button.chosen{background:#664a36;border-color:#dfa977}.candidate-grid button canvas{display:block;width:100%;max-width:110px;height:auto;aspect-ratio:110/114;border-radius:5px;background:#30303a}.candidate-grid button strong{font-size:11px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.candidate-grid button small{font-size:10px;color:#bcbbb9;line-height:1.3}.candidate-grid button:focus-visible{outline:2px solid #f3d6a9;outline-offset:2px}.roster-entry>button:first-child{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.roster-entry canvas{width:40px;height:auto;aspect-ratio:110/114;background:#2b2d38;border-radius:4px}@media(min-width:650px){.candidate-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:400px){.candidate-section{padding:8px}.candidate-grid{gap:5px}.candidate-grid button{padding:4px 2px 8px}}
