:root{color-scheme:light;font-family:Source Han Sans SC,Noto Sans SC,PingFang SC,sans-serif;line-height:1.6;font-weight:400;--bg: #f3ede3;--bg-strong: rgba(255, 248, 239, .84);--panel: rgba(255, 250, 244, .78);--panel-strong: rgba(255, 251, 246, .92);--text: #1e1815;--text-soft: #68584f;--line: rgba(77, 53, 42, .14);--accent: #8b2c24;--accent-strong: #6d1914;--accent-gold: #b28a3e;--shadow: 0 22px 80px rgba(52, 31, 22, .12);--radius-xl: 28px;--radius-lg: 20px;--radius-md: 16px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--text);background:radial-gradient(circle at top left,rgba(178,138,62,.18),transparent 30%),radial-gradient(circle at right 14% top 10%,rgba(139,44,36,.14),transparent 22%),linear-gradient(180deg,#f8f2e8 0%,var(--bg) 50%,#ebe1d3 100%)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(98,70,51,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(98,70,51,.045) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(circle at center,black 55%,transparent 92%);mask-image:radial-gradient(circle at center,black 55%,transparent 92%)}button,input,a{font:inherit}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid rgba(139,44,36,.35);outline-offset:3px}.app-shell{position:relative;overflow:hidden}.ambient{position:fixed;border-radius:999px;filter:blur(28px);opacity:.6;pointer-events:none}.ambient-left{top:8rem;left:-6rem;width:16rem;height:16rem;background:#b28a3e2e}.ambient-right{top:24rem;right:-5rem;width:18rem;height:18rem;background:#8b2c241f}.topbar{padding:1.5rem clamp(1.25rem,3vw,3rem) 0}.brand-lockup{display:flex;align-items:center;gap:1rem;max-width:1200px;margin:0 auto}.brand-seal{width:3.3rem;height:3.3rem;display:grid;place-items:center;border-radius:1rem;background:linear-gradient(145deg,var(--accent),var(--accent-strong));color:#fff9f1;box-shadow:inset 0 1px #ffffff2e;font-family:"Source Han Serif SC","Noto Serif SC",Songti SC,serif;font-size:1.35rem}.brand-title,.hero-copy h2,.section-head h2,.section-head h3,.status-panel h2,.meta-card h3{margin:0;font-family:"Source Han Serif SC","Noto Serif SC",Songti SC,serif;letter-spacing:.02em}.brand-title{font-size:1.2rem}.eyebrow{margin:0 0 .25rem;color:var(--accent);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem}.page-shell{max-width:1200px;margin:0 auto;padding:1.25rem clamp(1.25rem,3vw,3rem) 4rem}.page-grid{display:grid;gap:1.5rem}.hero-panel,.config-panel,.status-panel,.meta-card,.artwork-frame{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.hero-panel{display:grid;grid-template-columns:1.2fr .9fr;gap:1.5rem;padding:clamp(1.5rem,3vw,2.5rem);border-radius:var(--radius-xl)}.hero-copy h2{font-size:clamp(2rem,5vw,4rem);line-height:1.08;max-width:12ch}.hero-body{margin:1rem 0 0;max-width:42rem;color:var(--text-soft);font-size:1.05rem}.pill-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.pill{min-height:44px;display:inline-flex;align-items:center;padding:.65rem 1rem;border-radius:999px;border:1px solid rgba(139,44,36,.18);background:#fffcf7a8;color:var(--text-soft)}.hero-preview{display:grid;align-content:space-between;gap:1rem}.preview-ticket,.preview-frame,.option-card,.field input,.stage-card,.error-box,.action-column,.ghost-button,.primary-button{border-radius:var(--radius-lg)}.preview-ticket{padding:1rem 1.2rem;background:linear-gradient(180deg,#fffdf9eb,#fff7ecc2);border:1px solid rgba(178,138,62,.24)}.preview-ticket p{margin:0 0 .4rem;color:var(--text-soft)}.preview-ticket strong{font-size:1.15rem}.preview-frame{position:relative;padding:1rem;background:linear-gradient(140deg,rgba(139,44,36,.1),transparent 55%),linear-gradient(180deg,#fffbf6f5,#f8f0e5eb);border:1px solid rgba(139,44,36,.16);min-height:360px}.preview-frame img,.artwork-frame img{width:100%;height:100%;object-fit:cover;border-radius:calc(var(--radius-lg) - 8px)}.config-panel{padding:clamp(1.5rem,3vw,2rem);border-radius:var(--radius-xl)}.section-head{display:grid;gap:.4rem;margin-bottom:1.5rem}.section-head p:last-child{margin:0;color:var(--text-soft)}.form-block+.form-block,.field-grid,.action-row{margin-top:1.25rem}.field-label{display:block;margin-bottom:.65rem;color:var(--text-soft);font-size:.94rem}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.option-card{min-height:144px;display:grid;gap:.5rem;align-content:start;padding:1.1rem;border:1px solid rgba(77,53,42,.12);background:linear-gradient(180deg,#fffcf8f5,#f9f1e7f0);text-align:left;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.option-card:hover{transform:translateY(-2px);border-color:#8b2c2442;box-shadow:0 18px 38px #472c1e1a}.option-card.selected{border-color:#8b2c2470;box-shadow:inset 0 0 0 1px #8b2c2429}.option-card strong{font-size:1.15rem}.option-card span:last-child{color:var(--text-soft)}.option-kicker{color:var(--accent);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field{display:grid}.field input{min-height:52px;padding:.9rem 1rem;border:1px solid rgba(77,53,42,.16);background:#fffcf7e6;color:var(--text)}.field input::placeholder{color:#68584fb8}.action-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.primary-button,.ghost-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.4rem;border:1px solid transparent;transition:transform .22s ease,background-color .22s ease,border-color .22s ease}.primary-button{background:linear-gradient(180deg,var(--accent),var(--accent-strong));color:#fff8f0;box-shadow:0 14px 30px #6d19143d}.primary-button:hover:not(:disabled),.ghost-button:hover{transform:translateY(-1px)}.primary-button:disabled{opacity:.62;cursor:not-allowed}.ghost-button{border-color:#4d352a29;background:#fffbf6b3}.action-note{margin:0;color:var(--text-soft)}.status-layout,.result-layout{display:grid;gap:1.5rem}.status-panel{padding:clamp(1.5rem,3vw,2.5rem);border-radius:var(--radius-xl)}.stage-stack{display:grid;gap:.9rem;margin-top:1.5rem}.stage-card{min-height:72px;display:flex;align-items:center;gap:1rem;padding:1rem 1.1rem;border:1px solid rgba(77,53,42,.12);background:#fffbf6cc;color:var(--text-soft)}.stage-card.active{color:var(--text);border-color:#8b2c244d;background:#fff4ecf5}.stage-card.done{color:var(--text)}.stage-index{width:2rem;height:2rem;display:grid;place-items:center;border-radius:999px;background:#8b2c241a;color:var(--accent);font-size:.95rem;flex-shrink:0}.loading-orbit{position:relative;width:12rem;height:12rem;margin:2rem auto 0}.loading-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;border:1px solid rgba(139,44,36,.16)}.loading-ring.outer{border-top-color:#8b2c24b3;animation:spin 3.2s linear infinite}.loading-ring.inner{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem;border-bottom-color:#b28a3eb8;animation:spin 2.2s linear infinite reverse}.error-box{margin-top:1.5rem;padding:1rem 1.1rem;border:1px solid rgba(139,44,36,.22);background:#fff1eceb}.error-box p,.error-box strong{margin:0}.error-box p{color:var(--text-soft);margin-top:.45rem}.result-layout{grid-template-columns:1.4fr .8fr;align-items:start}.result-main{display:grid;gap:1rem}.artwork-frame{min-height:680px;padding:1rem;border-radius:var(--radius-xl);background:linear-gradient(160deg,rgba(139,44,36,.1),transparent 40%),linear-gradient(180deg,#fffcf8f5,#f6ede2eb)}.result-side{display:grid;gap:1rem}.meta-card{padding:1.35rem;border-radius:var(--radius-xl)}.meta-list{display:grid;gap:.85rem;margin:1rem 0 0}.meta-list div{display:flex;justify-content:space-between;gap:1rem;padding-top:.85rem;border-top:1px solid rgba(77,53,42,.09)}.meta-list dt{color:var(--text-soft)}.meta-list dd{margin:0;text-align:right}.action-column{display:grid;gap:.8rem;padding:1rem;border:1px solid var(--line);background:var(--panel-strong)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 960px){.hero-panel,.result-layout{grid-template-columns:1fr}.artwork-frame{min-height:520px}}@media (max-width: 720px){.option-grid,.field-grid{grid-template-columns:1fr}.hero-copy h2{max-width:none}.preview-frame{min-height:280px}.artwork-frame{min-height:360px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
