:root{color:#1d1d1f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--line:#d2d2d7;--panel:#ffffffd6;--text-main:#1d1d1f;--text-sub:#6e6e73;--blue:#b9dcbf;--blue-hover:#a7cfaf;--gray-btn:#f2f2f2;background:#f5f5f7;font-family:SF Pro Display,PingFang SC,Helvetica Neue,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{color:#1d1d1f;background:radial-gradient(circle at 10% 10%,#fff 0%,#0000 35%),radial-gradient(circle at 90% 15%,#f0f6ff 0%,#0000 30%),linear-gradient(#f8f8fa 0%,#f2f2f7 100%);min-height:100vh;margin:0}#root{min-height:100vh}.page{justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px;display:flex}.panel{-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);background:#ffffffb8;border:1px solid #fff;border-radius:22px;width:min(760px,100%);padding:30px;box-shadow:0 20px 60px #00000012,inset 0 1px #fff}.badge{letter-spacing:.04em;color:#5f8a66;background:#f2faf3;border:1px solid #d8ebdb;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-block}h1{letter-spacing:.01em;margin:14px 0 10px;font-size:clamp(32px,4vw,46px);line-height:1.14}h2{margin:18px 0 14px;font-size:clamp(23px,3vw,31px);line-height:1.35}.subtitle{color:#6e6e73;margin:0 0 16px}.en-name{color:#6f9a75;letter-spacing:.12em;text-transform:uppercase;margin:-2px 0 8px;font-size:13px;font-weight:700}.meta{color:#6e6e73;margin:0 0 20px;padding-left:18px}.meta li{margin:8px 0}button{font:inherit;cursor:pointer;border:none}.primary,.secondary,.ghost,.option{border-radius:12px;width:100%;padding:12px 14px;transition:transform .16s,box-shadow .24s,border-color .24s}.primary{color:#2f4d35;background:#b9dcbf;font-weight:800;box-shadow:0 8px 24px #b9dcbf55}.secondary{color:#36533b;background:#fbfefb;border:1px solid #d9eadc;margin-top:10px}.secondary.alt{background:#f2faf3}.secondary:disabled{opacity:.65;cursor:wait}.ghost{color:#36533b;background:#f6fcf7;border:1px solid #deede1;margin-top:10px}.primary:hover,.secondary:hover,.ghost:hover,.option:hover{transform:translateY(-1px)}.primary:hover{background:var(--blue-hover);box-shadow:0 12px 24px #a7cfaf5e}.start-btn{isolation:isolate;color:#1d1d1f;-webkit-backdrop-filter:blur(10px)saturate(115%);backdrop-filter:blur(10px)saturate(115%);background:linear-gradient(135deg,#f7fcf7 0%,#ecf5ed 52%,#ddecdf 100%);border:none;position:relative;overflow:hidden;box-shadow:0 10px 24px #00000014,inset 0 1px #ffffffca,inset 0 -1px #b7d2bb7a}.start-btn:hover{color:#000;background:linear-gradient(135deg,#fbfefb 0%,#eff7f0 52%,#e1eee3 100%);transform:translateY(-1px);box-shadow:0 12px 26px #0000001d,inset 0 1px #ffffffd8,inset 0 -1px #bdd5c17d}.disclaimer,.tips{color:#86868b;margin-top:14px;font-size:13px}.progress{color:#6e6e73;justify-content:space-between;font-size:14px;display:flex}.progress-track{background:#e5e5ea;border:1px solid #d2d2d7;border-radius:999px;width:100%;height:10px;margin-top:6px}.progress-fill{background:linear-gradient(90deg,#cfe8d3 0%,#b9dcbf 100%);border-radius:999px;height:100%}.options{gap:10px;margin-top:10px;display:grid}.option{text-align:left;color:#1d1d1f;background:#fff;border:1px solid #d2d2d7}.option:hover{border-color:#c6e1cb;box-shadow:0 6px 20px #b9dcbf2e}.dimension-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.dimension-item{text-align:center;background:#fff;border:1px solid #d2d2d7;border-radius:12px;padding:10px}.dimension-item span{color:#2f4d35;background:linear-gradient(120deg,#d1e9d5 0%,#b9dcbf 100%);border-radius:50%;width:22px;height:22px;font-size:12px;font-weight:700;line-height:22px;display:inline-block}.dimension-item p{color:#6e6e73;margin:8px 0 4px;font-size:13px}.dimension-item strong{color:#1d1d1f;font-size:22px}.share-copy{color:#424245;margin-top:14px}.result-illustration{background:#fff;border:1px solid #ececf1;border-radius:16px;place-items:center;margin-top:12px;padding:0 0 14px;display:grid;box-shadow:inset 0 1px #ffffffa8,0 8px 20px #00000014}.result-illustration.clickable{cursor:zoom-in}.result-illustration-image{object-fit:contain;background:0 0;border:none;border-radius:14px 14px 0 0;width:min(100%,480px);max-height:430px}.result-illustration-fallback{color:#6e6e73;background:#fff;border-radius:14px;place-items:center;width:160px;height:160px;font-size:56px}.result-illustration-tip{color:#8a8a8f;margin:8px 0 0;font-size:12px}.character-card{color:#fff;border:1px solid #ffffff80;border-radius:16px;grid-template-columns:72px 1fr;align-items:center;gap:12px;margin-top:12px;padding:14px;display:grid}.character-card.compact{color:#1d1d1f;border:1px solid #e6e6eb;border-radius:12px;grid-template-columns:56px 1fr;margin-top:0;padding:10px}.character-card.clickable{cursor:pointer}.character-card.clickable:hover{box-shadow:0 12px 24px #0000001f}.character-visual{background:#ffffff24;border:1px solid #d0deff52;border-radius:12px;place-items:center;width:62px;height:62px;display:grid;overflow:hidden}.character-image{object-fit:cover;width:100%;height:100%;display:block}.character-avatar{background:#fff3;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:62px;height:62px;font-size:30px;display:grid}.image-fallback{display:none}.character-card.compact .character-avatar{width:50px;height:50px;font-size:24px}.character-card.compact .character-visual{width:50px;height:50px}.character-card h4{margin:0 0 4px;font-size:20px}.character-card.compact h4{color:#1d1d1f}.character-en{letter-spacing:.09em;text-transform:uppercase;color:#f4f6ff;opacity:.95;margin:0 0 4px!important;font-size:11px!important}.character-card.compact .character-en{color:#7e8591}.character-card p{opacity:.95;margin:0;font-size:14px}.character-card.compact p{color:#5b5f67}.actions{margin-top:16px}.gallery-mask,.preview-mask{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b0b0f5e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.preview-mask{z-index:30}.gallery-panel,.preview-panel{background:#ffffffef;border:1px solid #d2d2d7;border-radius:18px;width:min(980px,100%);max-height:88vh;padding:16px;overflow:auto;box-shadow:0 24px 52px #00000024}.preview-panel{text-align:center;width:min(560px,100%)}.gallery-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.gallery-head h3{margin:0;font-size:22px}.close-btn{color:#1d1d1f;background:#f5f5f7;border:1px solid #d2d2d7;border-radius:10px;padding:8px 10px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.gallery-more-btn{margin-top:12px}.preview-image{object-fit:contain;border:1px solid #d2d2d7;border-radius:14px;width:min(100%,420px);max-height:62vh}.preview-panel h3{margin:12px 0 4px;font-size:28px}.preview-en{letter-spacing:.09em;text-transform:uppercase;color:#6f9a75;margin:0;font-weight:700}.preview-line{color:#6e6e73;margin:8px 0 12px}.poster-mask{z-index:35;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f11154a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.poster-panel{background:#ffffffef;border:1px solid #d2d2d7;border-radius:18px;width:min(620px,100%);padding:16px}.simple-poster{background:#fff;border:1px solid #d5deec;border-radius:14px;width:100%;padding:14px}.simple-poster-image{object-fit:contain;border-radius:10px;width:100%;max-height:72vh;display:block}.poster-actions{margin-top:12px}@media (width<=640px){.panel{padding:20px}.result-illustration-image{max-height:360px}.dimension-grid,.gallery-grid{grid-template-columns:1fr}}
