.gg-container{min-height:100vh;background:linear-gradient(135deg,#fdfbf7,#fef9f5,#fdfbf7);color:#3d2b2b;font-family:Noto Sans TC,Inter,system-ui,-apple-system,sans-serif;position:relative;overflow-x:hidden}.gg-container:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 80%,rgba(212,165,165,.06) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(124,90,138,.06) 0%,transparent 50%);pointer-events:none;z-index:0}.gg-header{text-align:center;padding:2.5rem 1.5rem 1rem;position:relative;z-index:1}.gg-title{font-size:clamp(1.6rem,5vw,2.4rem);font-weight:800;letter-spacing:.03em;margin-bottom:.5rem;background:linear-gradient(135deg,#8b5a5a,#a86868,#7c5a8a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gg-subtitle{font-size:clamp(.85rem,2.5vw,1rem);color:#7a6565;letter-spacing:.02em;max-width:400px;margin:0 auto;line-height:1.6;min-height:1.6em}.gg-main{max-width:480px;margin:0 auto;padding:0 1.25rem 2rem;position:relative;z-index:1}.gg-intro-card{background:#fff;border-radius:20px;padding:2rem 1.5rem;text-align:center;box-shadow:0 2px 20px #8b5a5a14;margin-bottom:1.5rem;position:relative;overflow:hidden}.gg-intro-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#d4a5a5,#e8914f,#7c5a8a,#5a7a8a,#a08060,#3d3d3d);border-radius:20px 20px 0 0}.gg-intro-palette-bar{display:flex;gap:6px;justify-content:center;margin-bottom:1.25rem;margin-top:.5rem}.gg-intro-palette-bar span{width:28px;height:6px;border-radius:3px;transition:transform .3s ease}.gg-intro-card h2{font-size:1.3rem;font-weight:700;color:#3d2b2b;margin-bottom:.75rem}.gg-intro-card p{font-size:.95rem;color:#7a6565;line-height:1.8;margin-bottom:1.25rem}.gg-intro-tags{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.gg-intro-tags span{background:#fdf5f0;color:#a86868;font-size:.8rem;padding:.35rem .75rem;border-radius:20px;font-weight:500}.gg-btn{display:block;width:100%;padding:1rem;border:none;border-radius:14px;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;text-decoration:none}.gg-btn:active{transform:scale(.98)}.gg-btn-primary{background:linear-gradient(135deg,#a86868,#8b5a5a);color:#fff;box-shadow:0 4px 15px #8b5a5a40}.gg-btn-primary:hover{box-shadow:0 6px 20px #8b5a5a59}.gg-btn-sub{display:block;font-size:.75rem;font-weight:400;opacity:.85;margin-top:.25rem}.gg-btn-shop{color:#fff;box-shadow:0 4px 15px #00000026;margin-bottom:.5rem}.gg-btn-browse,.gg-btn-share{background:#fff;color:#3d2b2b;border:1.5px solid #e0d5d5}.gg-btn-share:disabled{opacity:.6;cursor:not-allowed}.gg-btn-retry{background:transparent;color:#7a6565;font-weight:500;font-size:.9rem;padding:.75rem}.gg-btn-browse:hover,.gg-btn-share:hover{border-color:#c8b8b8;box-shadow:0 2px 12px #8b5a5a1a}.gg-btn-browse:active,.gg-btn-share:active{transform:scale(.98);background:#faf7f5}.gg-btn-retry:hover{color:#5a4545}.gg-btn-retry:active{transform:scale(.97)}.gg-modal-content button:hover{background:#96595a}.gg-modal-content button:active{transform:scale(.97)}.gg-progress{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.gg-progress-bar{flex:1;height:4px;background:#f0e8e8;border-radius:2px;overflow:hidden}.gg-progress-fill{height:100%;background:linear-gradient(90deg,#d4a5a5,#a86868);border-radius:2px;transition:width .4s ease}.gg-progress-text{font-size:.75rem;color:#a89090;font-weight:500;white-space:nowrap}.gg-step-label{text-align:center;margin-bottom:.5rem}.gg-step-label span{display:inline-block;font-size:.7rem;font-weight:600;color:#a89090;letter-spacing:.1em;text-transform:uppercase;background:#f8f2f0;padding:.25rem .75rem;border-radius:10px}.gg-question{transition:opacity .35s ease,transform .35s ease}.gg-question.fade-in{opacity:1;transform:translateY(0)}.gg-question.fade-out{opacity:0;transform:translateY(10px);pointer-events:none}.gg-question-title{font-size:1.25rem;font-weight:700;text-align:center;margin-bottom:1.25rem;color:#3d2b2b;line-height:1.5}.gg-options{display:flex;flex-direction:column;gap:.65rem}.gg-option{display:flex;align-items:center;gap:1rem;background:#fff;border:1.5px solid #f0e8e8;border-radius:14px;padding:1rem 1.25rem;cursor:pointer;transition:all .2s ease;font-family:inherit;text-align:left;width:100%}.gg-option:hover{border-color:#d4a5a5;box-shadow:0 2px 12px #d4a5a526}.gg-option:active{transform:scale(.98);background:#fdf9f7}.gg-option-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px #0000000a}.gg-option-text{display:flex;flex-direction:column;gap:.15rem}.gg-option-label{font-size:1rem;font-weight:600;color:#3d2b2b}.gg-option-desc{font-size:.8rem;color:#a89090}.gg-result-phase{padding-bottom:3rem}.gg-result{display:flex;flex-direction:column;gap:1rem}.gg-result-profile{background:#fff;border-radius:20px;padding:2rem 1.5rem 1.75rem;text-align:center;border-top:4px solid;box-shadow:0 2px 20px #8b5a5a14}.gg-palette-display{display:flex;gap:8px;justify-content:center;margin-bottom:1rem}.gg-palette-dot{width:24px;height:24px;border-radius:50%;box-shadow:0 1px 4px #0000001a}.gg-result-eng-title{font-size:.75rem;color:#b8a8a8;letter-spacing:.1em;margin-bottom:.2rem;text-transform:uppercase}.gg-result-title{font-size:1.5rem;font-weight:800;margin-bottom:.3rem}.gg-result-subtitle{font-size:.95rem;color:#7a6565}.gg-section-label{font-size:.7rem;font-weight:600;color:#b8a8a8;letter-spacing:.08em;text-transform:uppercase;text-align:center;margin:.25rem 0 -.25rem}.gg-result-desc-block{background:#fff;border-radius:16px;padding:1.25rem 1.5rem;box-shadow:0 2px 12px #8b5a5a0f}.gg-result-desc{font-size:.93rem;color:#5a4545;line-height:1.85}.gg-result-color-block{border-radius:14px;padding:1.25rem;text-align:center}.gg-result-palette-row{display:flex;gap:10px;justify-content:center;margin-bottom:.75rem}.gg-palette-swatch-lg{width:32px;height:32px;border-radius:50%;box-shadow:0 1px 4px #0000001a}.gg-result-color-note{font-size:.85rem;font-weight:600}.gg-result-keywords{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.gg-keyword{font-size:.82rem;padding:.35rem .8rem;border-radius:20px;font-weight:500}.gg-result-answers{background:#fff;border-radius:14px;padding:1rem 1.25rem;box-shadow:0 2px 12px #8b5a5a0f}.gg-result-answers-label{font-size:.7rem;color:#b8a8a8;letter-spacing:.1em;margin-bottom:.5rem;font-weight:600}.gg-result-answers-list{display:flex;flex-wrap:wrap;gap:.4rem}.gg-answer-chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;background:#fdf5f0;color:#7a6565;padding:.3rem .65rem;border-radius:8px}.gg-answer-chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.gg-result-cta{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.gg-result-actions{display:flex;flex-direction:column;gap:.25rem}.gg-tip{background:#fdf9f5;border-radius:14px;padding:1rem 1.25rem;border-left:3px solid #d4a5a5}.gg-tip p{font-size:.85rem;color:#7a6565;line-height:1.6;margin:0}.gg-tip p:first-child{margin-bottom:.3rem;color:#5a4545}.gg-result-card{font-family:Noto Sans TC,Inter,system-ui,sans-serif}.gg-result-card.gg-capture{border-radius:20px}.gg-result-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.gg-result-logo{height:28px}.gg-result-card-label{font-size:.75rem;color:#a89090;letter-spacing:.05em}.gg-result-card-profile{text-align:center;padding:1.5rem 1rem;border:2px solid;border-radius:16px;margin-bottom:1rem}.gg-palette-ring{display:flex;gap:6px;justify-content:center;margin-bottom:.5rem}.gg-palette-ring-dot{width:20px;height:20px;border-radius:50%;box-shadow:0 1px 3px #0000001a}.gg-result-card-eng{font-size:.7rem;color:#a89090;letter-spacing:.08em;margin:0 0 .15rem}.gg-result-card-palette{display:flex;gap:8px;justify-content:center;margin-bottom:.75rem}.gg-palette-swatch{width:24px;height:24px;border-radius:50%;box-shadow:0 1px 3px #0000001a}.gg-result-card-profile h3{font-size:1.3rem;font-weight:800;margin-bottom:.25rem}.gg-result-card-subtitle{font-size:.85rem;color:#7a6565;margin:0}.gg-result-card-answers{text-align:center;margin-bottom:.75rem}.gg-result-card-answers p{font-size:.8rem;color:#7a6565}.gg-result-card-keywords{display:flex;gap:.4rem;justify-content:center;margin-bottom:1.5rem}.gg-keyword-tag{font-size:.75rem;padding:.3rem .6rem;border-radius:12px;font-weight:500}.gg-result-card-footer{display:flex;justify-content:space-between;font-size:.7rem;color:#a89090;border-top:1px solid #f0e8e8;padding-top:.75rem}.gg-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem}.gg-modal-content{background:#fff;border-radius:16px;padding:1.5rem;max-width:350px;width:100%;text-align:center}.gg-modal-content p{font-size:1rem;font-weight:600;margin-bottom:1rem}.gg-modal-content img{width:100%;border-radius:12px;margin-bottom:1rem}.gg-modal-content button{background:#a86868;color:#fff;border:none;padding:.75rem 2rem;border-radius:10px;font-size:.95rem;cursor:pointer;font-family:inherit}.gg-footer{text-align:center;padding:2rem 1rem;position:relative;z-index:1}.gg-footer-logo{height:32px;margin-bottom:.5rem;opacity:.6}.gg-footer p{font-size:.75rem;color:#a89090}.gg-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.gg-option-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem;background:#fff;border:1.5px solid #f0e8e8;border-radius:14px;padding:1.25rem .75rem;cursor:pointer;transition:all .2s ease;font-family:inherit;width:100%}.gg-option-card:hover{border-color:#d4a5a5;box-shadow:0 2px 12px #d4a5a526;transform:translateY(-2px)}.gg-option-card:active{transform:scale(.97);background:#fdf9f7}.gg-option-emoji{font-size:1.75rem;line-height:1}.gg-option-card .gg-option-label{font-size:.95rem;font-weight:600;color:#3d2b2b}.gg-option-card-desc{font-size:.75rem;color:#a89090;line-height:1.4}.gg-intro-occasions{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}.gg-intro-occasions span{background:#fdf0e8;color:#c47a50;font-size:.8rem;padding:.3rem .7rem;border-radius:20px;font-weight:500}.gg-occasion-badge-row{display:flex;justify-content:center;margin-bottom:.25rem}.gg-occasion-badge{font-size:.8rem;font-weight:600;padding:.35rem .9rem;border-radius:20px;letter-spacing:.02em}.gg-result-opener-block{background:#fff;border-radius:14px;padding:1.1rem 1.5rem;border-left:3px solid transparent;box-shadow:0 2px 12px #8b5a5a0f}.gg-result-opener{font-size:1rem;font-weight:600;color:#3d2b2b;line-height:1.75;margin:0;font-style:italic}.gg-occasion-note{background:#fdfbf5;border-radius:14px;padding:1rem 1.25rem;border-left:3px solid #e8c88a}.gg-occasion-note p{font-size:.85rem;color:#7a6565;line-height:1.65;margin:0}.gg-result-card-occasion{font-size:.75rem;font-weight:600;color:#a89090;text-align:center;margin-bottom:.75rem;letter-spacing:.04em}.gg-result-card-opener{font-size:.82rem;color:#5a4545;text-align:center;font-style:italic;margin:0 0 .75rem;line-height:1.55}.gg-quadrant-container{background:#fff;border-radius:16px;padding:1.25rem 1rem 1rem;box-shadow:0 2px 12px #8b5a5a0f;text-align:center}.gg-quadrant-title{font-size:.85rem;font-weight:600;color:#5a4545;margin:0 0 .75rem;letter-spacing:.02em}.gg-complementary-block{background:#fff;border-radius:14px;padding:1rem 1.25rem;border-left:3px solid transparent;box-shadow:0 2px 12px #8b5a5a0f}.gg-complementary-label{font-size:.7rem;color:#b8a8a8;letter-spacing:.08em;margin:0 0 .5rem;font-weight:600}.gg-complementary-info{display:flex;align-items:center;gap:.75rem}.gg-complementary-dot{width:28px;height:28px;border-radius:50%;flex-shrink:0;box-shadow:0 1px 4px #0000001a}.gg-complementary-name{display:block;font-size:1rem;font-weight:700}.gg-complementary-sub{display:block;font-size:.82rem;color:#7a6565;margin-top:.1rem}.animate-fade-in{animation:ggFadeIn .5s ease forwards}@keyframes ggFadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.gg-user-dot-appear{animation:ggUserDotAppear .6s ease .3s both}@keyframes ggUserDotAppear{0%{transform:scale(0)}70%{transform:scale(1.15)}to{transform:scale(1)}}@media (max-width: 360px){.gg-main{padding:0 1rem 2rem}.gg-intro-card{padding:1.75rem 1.25rem}.gg-question-title{font-size:1.15rem}.gg-option-card{padding:1rem .5rem}.gg-result-profile{padding:1.5rem 1.25rem}.gg-options-grid{gap:.5rem}}
