@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;700;900&display=swap');*{box-sizing:border-box}body{margin:0;background:#f7f5f1;color:#292332;font-family:'Noto Sans TC',sans-serif}header{height:76px;background:#fff;border-bottom:1px solid #eae6df;display:flex;align-items:center;justify-content:space-between;padding:0 6%}.brand{font-size:18px;font-weight:900}.brand b{display:inline-grid;place-items:center;background:#8052d1;color:#fff;width:36px;height:36px;border-radius:11px;margin-right:8px}.brand span{font-size:12px;color:#aaa2af;font-weight:400}button,input,textarea{font:inherit}button{cursor:pointer}.primary,.btn{border:1px solid #e5deea;background:#fff;border-radius:10px;padding:10px 14px;font-size:12px;color:#5f5668;font-weight:700;text-decoration:none;cursor:pointer}.primary{background:#8052d1;color:#fff;border-color:#8052d1}main{max-width:1200px;margin:auto;padding:42px 25px 70px}.intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.intro label,small{font-size:11px;letter-spacing:.13em;color:#976ed2;font-weight:900}.intro h1{font-size:30px;margin:8px 0}.intro p,.hint{font-size:12px;color:#948a99;line-height:1.7}.badge{background:white;border:1px solid #ece6ec;padding:10px 15px;border-radius:30px;font-size:12px;color:#888}.badge strong{color:#8052d1}.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.card{background:#fff;border:1px solid #eee9e5;border-radius:20px;padding:24px;margin-bottom:20px;box-shadow:0 9px 35px #35254708}.head{display:flex;justify-content:space-between;align-items:center;gap:10px}.head h2{font-size:16px;margin:0}.hint{margin:10px 0}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.actions .hint{margin-left:auto}textarea,input:not([type=color]){border:1px solid #e8e2eb;background:#fcfbfd;border-radius:10px;color:#302938;padding:11px;outline:none}textarea{width:100%;height:150px;resize:vertical}.columns,.prize{display:grid;grid-template-columns:1fr 80px 55px;gap:8px}.columns{font-size:11px;color:#888;margin-bottom:7px}.prize{margin-bottom:8px}.prize input{width:100%;min-width:0;font-size:13px}.prize button{border:0;background:transparent;color:#aaa}.prize .locked{font-size:11px;color:#9b8ba5;align-self:center}.colorrow{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.colorrow label{font-size:12px;color:#625a69;display:flex;align-items:center;gap:7px}input[type=color]{width:36px;height:36px;border:1px solid #e7e1e8;border-radius:8px;background:white;padding:3px;cursor:pointer}.preview{height:120px;border-radius:12px;display:grid;place-content:center;text-align:center;color:var(--accent);background:repeating-conic-gradient(from 0deg,var(--rays) 0deg 8deg,transparent 9deg 20deg),var(--background);font-weight:900;letter-spacing:.2em}.preview span{font-size:25px}.steps p{font-size:13px;color:#655c6d;border-bottom:1px solid #f1edf2;padding:8px 0}.steps b{color:#a379d7;margin-right:12px}.result{border-top:1px solid #f0ebef;padding:15px 0}.result h3{font-size:13px}.winner{display:inline-block;background:#f8f4fb;border-radius:8px;padding:8px 12px;margin:3px;font-size:12px}.empty{text-align:center;padding:35px;color:#b5acb8;font-size:13px}@media(max-width:750px){.grid{grid-template-columns:1fr}.intro h1{font-size:24px}.badge{display:none}.head{flex-wrap:wrap}header{padding:0 16px}}

.header-actions{display:flex;align-items:center;gap:14px}.mode-toggle{font-size:12px;font-weight:700;color:#675e70;display:flex;align-items:center;gap:6px;white-space:nowrap}.mode-toggle input{accent-color:#8052d1;width:17px;height:17px}.mode-banner{padding:14px 18px;margin-bottom:22px;background:#fff0ca;color:#775419;border:1px solid #f0d99c;border-radius:12px;font-size:13px;font-weight:700}.mode-banner[hidden]{display:none}@media(max-width:500px){.brand span{display:none}.header-actions{gap:7px}.primary{padding:9px;font-size:11px}.mode-toggle{font-size:11px}}

.image-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.image-controls .hint{margin:0}.preview{background-size:cover;background-position:center}.brand{font-size:16px}.intro h1{margin-top:0}

.machine-choice{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:13px 0 4px;color:#625a69;font-size:13px}.machine-choice .choice-title{font-weight:700;color:#39313e}.machine-choice label{display:flex;align-items:center;gap:5px;cursor:pointer}.machine-choice input{accent-color:#8052d1}
