@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;700;900&family=Noto+Serif+SC:wght@700;900&display=swap";:root{--red: #e63946;--gold: #d4a745;--gold-dim: rgba(212,167,69,.3);--cream: #faf3e6;--teal: #1a3a3a;--teal-light: #245050;--text-dark: #2a1a0e;--text-mid: #6b5744}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--teal);background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0px,rgba(255,255,255,.04) 1px,transparent 1px,transparent 24px),repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0px,rgba(255,255,255,.04) 1px,transparent 1px,transparent 24px);background-attachment:fixed;color:var(--text-dark);font-family:Noto Sans SC,-apple-system,sans-serif;min-height:100vh;overflow-x:hidden}.container{position:relative;z-index:1;padding:24px 16px 48px;min-height:100vh;max-width:460px;margin:0 auto}.header{text-align:center;margin:0 8px 24px;padding:28px 20px 22px;background:var(--cream);border-radius:4px;border:2px solid var(--gold);box-shadow:0 0 0 6px var(--cream),0 0 0 8px var(--gold),0 8px 32px #0006;position:relative}.barber-pole-unit{display:flex;flex-direction:column;align-items:center;gap:0;position:absolute;top:45%;transform:translateY(-50%)}.pole-left{left:14px}.pole-right{right:14px}.barber-pole{width:18px;height:140px;border-radius:9px;overflow:hidden;position:relative;background:#fff;box-shadow:inset -3px 0 6px #00000026,0 0 8px #d4a74559,0 0 20px #d4a74526}.barber-pole:before{content:"";position:absolute;left:0;right:0;top:-40px;height:calc(100% + 40px);background:repeating-linear-gradient(-45deg,#e63946 0px 6px,#fff 6px 12px,#1d4ed8 12px 18px,#fff 18px 24px);animation:poleScroll 1.5s linear infinite}.barber-pole:after{content:"";position:absolute;inset:0;border-radius:9px;background:linear-gradient(90deg,transparent 15%,rgba(255,255,255,.45) 40%,transparent 65%);pointer-events:none}@keyframes poleScroll{0%{transform:translateY(0)}to{transform:translateY(33.94px)}}.barber-pole-cap{width:26px;height:7px;background:linear-gradient(180deg,#e8c55a,var(--gold),#b8902e);border-radius:3px;box-shadow:0 1px 3px #00000059,0 0 6px #d4a7454d}.shop-badge{display:inline-block;font-size:11px;font-weight:700;color:var(--gold);border:1px solid var(--gold);padding:3px 12px;border-radius:2px;letter-spacing:2px;margin-bottom:8px;text-transform:uppercase}.logo-wrap{position:relative;width:75%;max-width:280px;margin:10px auto 2px}.logo{width:100%;height:auto;display:block;filter:drop-shadow(0 0 8px rgba(230,57,70,.4)) drop-shadow(0 0 20px rgba(212,167,69,.25));animation:neonPulse 3s ease-in-out infinite}@keyframes neonPulse{0%,to{filter:drop-shadow(0 0 8px rgba(230,57,70,.4)) drop-shadow(0 0 20px rgba(212,167,69,.25))}50%{filter:drop-shadow(0 0 14px rgba(230,57,70,.6)) drop-shadow(0 0 32px rgba(212,167,69,.4))}}.logo-sheen{position:absolute;inset:0;overflow:hidden;pointer-events:none;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.logo-sheen:before{content:"";position:absolute;top:-20%;left:-60%;width:40%;height:140%;background:linear-gradient(105deg,transparent 0%,transparent 35%,rgba(255,255,255,.6) 45%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.6) 55%,transparent 65%,transparent 100%);animation:sheen 4s ease-in-out infinite}@keyframes sheen{0%{left:-60%;opacity:0}10%{opacity:1}65%{left:120%;opacity:1}75%{left:120%;opacity:0}to{left:-60%;opacity:0}}.logo-flare{position:absolute;top:-6%;right:-4%;width:32px;height:32px;pointer-events:none;opacity:0;background:#fff;clip-path:polygon(50% 0%,54% 40%,97% 25%,58% 48%,97% 75%,54% 60%,50% 100%,46% 60%,3% 75%,42% 48%,3% 25%,46% 40%);filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 8px rgba(212,167,69,.5));animation:starFlare 4s ease-in-out infinite}@keyframes starFlare{0%,56%{opacity:0;transform:scale(.2) rotate(0)}63%{opacity:1;transform:scale(1.2) rotate(15deg)}70%{opacity:.8;transform:scale(.9) rotate(25deg)}78%{opacity:0;transform:scale(.3) rotate(35deg)}to{opacity:0}}.subtitle{font-size:13px;color:var(--text-mid);margin:0 0 16px}.social-links{display:flex;justify-content:center;gap:10px;margin-top:4px}.bilibili-credit{display:inline-flex;align-items:center;gap:6px;background:#e6394614;border:1px solid rgba(230,57,70,.2);border-radius:2px;padding:5px 12px;text-decoration:none;transition:all .25s}.bilibili-credit:hover{background:#e6394626}.bili-icon{width:18px;height:18px;fill:var(--red)}.bilibili-credit span{font-size:12px;color:var(--red);font-weight:700}.douyin-credit{display:inline-flex;align-items:center;gap:6px;background:#0000000d;border:1px solid rgba(0,0,0,.12);border-radius:2px;padding:5px 12px;text-decoration:none;transition:all .25s}.douyin-credit:hover{background:#0000001a}.douyin-icon{width:16px;height:16px;fill:var(--text-dark)}.douyin-credit span{font-size:12px;color:var(--text-dark);font-weight:700}.upload-section{margin-bottom:16px}.upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;border:2px dashed var(--gold);border-radius:4px;background:var(--cream);box-shadow:0 4px 20px #0000004d;cursor:pointer;transition:all .3s;-webkit-tap-highlight-color:transparent}.upload-area:hover:not(.exhausted){border-color:var(--red);transform:scale(1.01)}.upload-area.exhausted{border-color:#0000001f;background:#c8c3b94d;cursor:not-allowed;opacity:.6}.upload-icon{font-size:42px;margin-bottom:10px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.upload-text{font-size:15px;color:var(--text-dark);font-weight:700;margin-bottom:4px}.upload-hint{font-size:12px;color:var(--text-mid)}.preview-area{text-align:center}.preview-image{width:100%;max-height:300px;object-fit:contain;border-radius:4px;border:2px solid var(--gold);box-shadow:0 4px 20px #0000004d}.change-btn{display:inline-block;margin-top:10px;font-size:13px;color:var(--gold);font-weight:700;cursor:pointer;padding:5px 14px;border-radius:2px;background:#d4a7451a;border:1px solid var(--gold-dim);transition:all .2s;-webkit-tap-highlight-color:transparent}.change-btn:hover{background:#d4a74533}.generate-btn{width:100%;height:54px;background:var(--red);color:#fff;font-size:17px;font-weight:900;border-radius:4px;border:none;margin-bottom:10px;cursor:pointer;letter-spacing:2px;box-shadow:0 4px 16px #e6394666;transition:all .25s;-webkit-tap-highlight-color:transparent}.generate-btn:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 6px 24px #e6394680}.generate-btn:active:not(.disabled){transform:scale(.97)}.generate-btn.disabled{background:#bbb;color:#eee;cursor:not-allowed;box-shadow:none}.remaining{text-align:center;font-size:13px;color:#ffffff80;font-weight:700;margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:8px}.remaining-dots{display:inline-flex;gap:5px}.remaining-dot{width:10px;height:10px;border-radius:50%;background:var(--gold);transition:all .3s}.remaining-dot.used{background:#ffffff26}.view-result-btn{width:100%;height:42px;background:none;color:var(--gold);font-size:14px;font-weight:700;border-radius:4px;border:1.5px solid var(--gold);margin-bottom:16px;cursor:pointer;letter-spacing:1px;transition:all .25s;-webkit-tap-highlight-color:transparent}.view-result-btn:hover{background:#d4a7451a}.loading-box{display:flex;flex-direction:column;align-items:center;padding:28px 20px 16px;background:var(--cream);border-radius:4px;border:2px solid var(--gold);box-shadow:0 4px 20px #0000004d;margin-bottom:16px}.spinner{width:48px;height:48px;border:3px solid #eee;border-top-color:var(--red);border-right-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite;margin-bottom:14px}@keyframes spin{to{transform:rotate(360deg)}}.loading-msg{font-size:13px;color:var(--text-mid);font-weight:700;margin:0 0 16px}.progress-track{width:100%;height:6px;background:#e8e0d0;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--red);border-radius:3px;transition:width .3s ease;position:relative}.progress-fill:after{content:"";position:absolute;top:0;right:0;width:30px;height:100%;background:#ffffff80;border-radius:3px;animation:shimmer 1s ease-in-out infinite}@keyframes shimmer{0%,to{opacity:0}50%{opacity:1}}.progress-pct{font-size:12px;color:var(--red);font-weight:700;margin:8px 0 0}.popup-overlay{position:fixed;inset:0;background:#000000b3;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.popup-card{position:relative;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;background:var(--cream);border:2px solid var(--gold);border-radius:4px;padding:24px 16px;box-shadow:0 0 0 6px var(--cream),0 0 0 8px var(--gold),0 20px 60px #0009;text-align:center;animation:popIn .35s cubic-bezier(.34,1.56,.64,1)}@keyframes popIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.popup-close{position:absolute;top:10px;right:12px;width:32px;height:32px;background:none;border:1px solid rgba(0,0,0,.15);border-radius:50%;font-size:16px;color:var(--text-mid);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.popup-close:hover{background:#0000000d;color:var(--red)}.result-title{font-size:16px;font-weight:900;color:var(--red);margin:0 0 14px;letter-spacing:1px}.result-image{width:100%;border-radius:4px;border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 16px #0003;margin-bottom:16px}.popup-nav{display:flex;justify-content:center;gap:16px;margin-bottom:14px}.nav-btn{background:none;border:none;font-size:14px;font-weight:700;color:var(--gold);cursor:pointer;padding:4px 8px;transition:all .2s}.nav-btn:hover:not(:disabled){color:var(--red)}.nav-btn:disabled{color:#00000026;cursor:not-allowed}.popup-actions{display:flex;gap:10px;justify-content:center}.save-btn{display:inline-block;padding:0 24px;height:44px;background:var(--gold);color:#fff;font-size:14px;font-weight:900;border-radius:4px;border:none;cursor:pointer;letter-spacing:1px;box-shadow:0 4px 12px #0003;transition:all .25s;-webkit-tap-highlight-color:transparent}.save-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.save-btn:active{transform:scale(.97)}.share-btn{display:inline-block;padding:0 24px;height:44px;background:var(--red);color:#fff;font-size:14px;font-weight:900;border-radius:4px;border:none;cursor:pointer;letter-spacing:1px;box-shadow:0 4px 12px #e639464d;transition:all .25s;-webkit-tap-highlight-color:transparent}.share-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e6394666}.share-btn:active{transform:scale(.97)}.history-tabs{display:flex;gap:0;margin-bottom:14px;border:1.5px solid var(--gold);border-radius:4px;overflow:hidden}.history-tab{flex:1;padding:8px 0;font-size:13px;font-weight:700;border:none;cursor:pointer;transition:all .2s;background:transparent;color:var(--text-mid);-webkit-tap-highlight-color:transparent}.history-tab.active{background:var(--gold);color:#fff}.history-tab.tab-empty:not(.active){color:#00000040}.empty-round2{padding:24px 0;text-align:center}.empty-round2 p{font-size:13px;color:var(--text-mid);margin-bottom:16px}.grid-select-container{position:relative;display:inline-block;width:100%}.grid-select-container .result-image{margin-bottom:0}.grid-overlay{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:0;border-radius:4px;overflow:hidden}.grid-cell{cursor:pointer;border:2px solid transparent;transition:all .45s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;position:relative}.grid-cell:hover{background:#d4a74533;border-color:#d4a74580}.grid-cell.selected{background:transparent;border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold),0 0 20px #d4a74580;z-index:2}.grid-cell.dimmed{background:#000000a6;border-color:transparent;cursor:pointer}.grid-cell.dimmed:hover{background:#00000073;border-color:#d4a7454d}.round2-btn{margin-top:16px;margin-bottom:0}.round2-loading{position:fixed;bottom:0;left:0;right:0;z-index:200;display:flex;flex-direction:column;align-items:center;padding:20px 24px 28px;background:var(--cream);border-top:2px solid var(--gold);box-shadow:0 -4px 20px #0000004d}.round2-loading .spinner{width:36px;height:36px;margin-bottom:10px}.round2-loading .progress-track{width:100%;max-width:320px}.error-msg{text-align:center;font-size:13px;color:var(--red);font-weight:700;background:#e6394614;border:1px solid rgba(230,57,70,.2);border-radius:4px;padding:10px 16px;margin-top:12px}*{margin:0;padding:0;box-sizing:border-box}body{-webkit-font-smoothing:antialiased}
