@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+TC:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Noto Sans TC,sans-serif;color:#262321;background:#f4f0e9;font-synthesis:none;--brand:#bd674e;--ink:#262321;--muted:#77716c;--paper:#fffdf9;--line:#e7e0d7}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 10% 0,#fff 0,#f4f0e9 48%,#eee8df)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{max-width:520px;min-height:100vh;margin:auto;padding-bottom:88px;background:#faf8f4c2}.page{min-height:calc(100vh - 88px)}.brand-mark{font-size:25px;font-weight:800;letter-spacing:.21em;color:var(--brand)}.brand-mark.small{font-size:18px}.primary-button,.secondary-button{border:0;border-radius:16px;padding:14px 20px;font-weight:700}.primary-button{color:#fff;background:var(--ink);box-shadow:0 8px 24px #29231d26}.secondary-button{color:var(--ink);background:#eee8df}.text-button,.muted-action{border:0;background:none;color:var(--muted);padding:12px}.error-text{color:#a43b2f;background:#f9e8e2;border-radius:12px;padding:10px 12px;font-size:13px}.bottom-nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translate(-50%);width:min(520px,100%);height:78px;padding:8px 18px calc(8px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;background:#fffdf9ee;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid #e8e0d7}.bottom-nav a{color:#958e87;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:54px}.bottom-nav a span{font-size:25px;line-height:1}.bottom-nav a small{font-size:11px}.bottom-nav a.active{color:var(--brand)}.auth-page{min-height:100vh;padding:64px 24px 32px;max-width:520px;margin:auto}.auth-page h1{font-size:35px;line-height:1.22;margin:34px 0 12px;letter-spacing:-.04em}.auth-page>p{color:var(--muted);line-height:1.7}.auth-card{margin-top:34px;padding:22px;background:#fffdf9;border:1px solid var(--line);border-radius:28px;box-shadow:0 18px 60px #56412e14}.auth-card form{display:grid;gap:12px}.auth-card input,.setup-content input,.setup-content select,.setup-content textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px 14px;outline:none}.auth-card .primary-button{width:100%}.google-button{width:100%;padding:14px;border-radius:15px;border:1px solid var(--line);background:#fff;font-weight:600}.divider{display:flex;align-items:center;color:#aaa;font-size:12px;margin:18px 0}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}.divider span{padding:0 10px}.auth-card .text-button{width:100%;margin-top:8px}.social-login-list{display:grid;gap:10px}.social-login-button{width:100%;min-height:50px;padding:12px 16px;border-radius:15px;border:1px solid var(--line);background:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;color:#262321}.social-login-button.apple{background:#262321;color:#fff;border-color:#262321}.social-login-button.line{color:#075f24;border-color:#b9dfc4;background:#f6fff8}.social-login-button:disabled{opacity:.58;cursor:not-allowed}.demo-entry{margin-bottom:16px;padding:14px;border:1px solid #efcdbd;border-radius:18px;background:#fff1e9;text-align:center}.demo-login-button{width:100%;min-height:48px;border:0;border-radius:14px;background:#bd674e;color:#fff;font-weight:800}.demo-entry small{display:block;margin-top:8px;color:#8a6658;line-height:1.45}.home-page{padding:26px 20px}.home-page header{display:flex;justify-content:space-between;align-items:center}.date-label{font-size:13px;color:var(--muted)}.hero-card{margin-top:38px;min-height:390px;border-radius:34px;padding:34px 28px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(145deg,#332d29,#181614);color:#fff;box-shadow:0 24px 60px #35291f33;position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;width:240px;height:240px;border:1px solid #ffffff22;border-radius:50%;right:-60px;top:-45px;box-shadow:0 0 0 36px #ffffff08,0 0 0 72px #ffffff05}.eyebrow,.simple-header small,.setup-header small,.match-header small,.confirm-modal small{font-size:10px;letter-spacing:.2em;color:#c9a391}.hero-card h1{font-size:34px;line-height:1.16;margin:10px 0 8px;max-width:350px}.hero-card p{color:#d1cbc4;line-height:1.65}.hero-card .primary-button{background:#f7f1e9;color:#27231f;margin-top:16px}.countdown{font-size:40px;letter-spacing:.08em;font-variant-numeric:tabular-nums;margin-top:14px}.quiet-note{display:flex;gap:14px;padding:22px 8px}.quiet-note>span{font-size:32px;color:var(--brand)}.quiet-note p{margin:5px 0;color:var(--muted);font-size:13px;line-height:1.5}.profile-progress{margin:12px 0 4px}.profile-progress>div{height:7px;background:#ffffff24;border-radius:999px;overflow:hidden}.profile-progress>div span{display:block;height:100%;background:#e39a80;border-radius:inherit}.profile-progress small{display:flex;justify-content:space-between;margin-top:8px;color:#d9cec7}.profile-progress small b{color:#fff}.match-page{padding-bottom:36px}.match-header,.setup-header,.simple-header{padding:22px 20px;display:flex;align-items:center;justify-content:space-between}.match-header button,.setup-header button,.chat-room header button{border:0;background:none;font-size:22px}.match-header h2{margin:3px 0}.stage-progress{display:flex;gap:7px;padding:0 22px}.stage-progress i{height:3px;flex:1;background:#ddd5cb;border-radius:9px}.stage-progress i.active{background:var(--brand)}.stage-hint{text-align:center;color:var(--muted);font-size:13px;margin:18px 0}.candidate-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 14px}.candidate-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 12px 30px #5e493711}.candidate-photo,.photo-placeholder{width:100%;height:245px;object-fit:cover;background:linear-gradient(135deg,#d6c6b7,#857a70);display:flex;align-items:center;justify-content:center;font-size:80px;color:#fff3}.candidate-body{padding:15px}.candidate-body h3{font-size:19px;margin:0 0 10px}.candidate-body h3 span{font-weight:400;color:var(--muted)}.tag-list{display:flex;flex-wrap:wrap;gap:5px}.tag-list span{padding:5px 7px;background:#f1ece5;border-radius:8px;font-size:10px}.bio-preview{font-size:11px;line-height:1.5;color:var(--muted)}.answer-box,blockquote{font-size:11px;padding:9px;background:#efe7df;border-radius:10px;margin:8px 0}.choose-button{width:100%;border:0;background:#292522;color:#fff;border-radius:12px;padding:10px;margin-top:12px;font-size:12px}.choice-caption{text-align:center;color:#a39b93;font-size:11px;margin:18px 0 4px}.muted-action{display:block;margin:auto;font-size:12px}.modal-backdrop{position:fixed;z-index:40;top:0;right:0;bottom:0;left:0;background:#17141199;display:flex;align-items:flex-end;justify-content:center}.confirm-modal{width:min(520px,100%);background:var(--paper);padding:28px 24px calc(28px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0}.confirm-modal h2{font-size:27px}.confirm-modal>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toast-message{margin:15px;background:#2a2623;color:#fff;padding:12px;border-radius:12px;text-align:center;font-size:13px}.center-state{min-height:70vh;padding:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted)}.center-state.compact{min-height:55vh}.empty-orbit{font-size:80px;color:var(--brand)}.setup-page{background:#faf8f4}.setup-header div{display:flex;flex-direction:column;align-items:center;gap:3px}.setup-header>button,.setup-header>span{width:34px}.setup-content{padding:12px 20px 110px}.setup-content section>h2{font-size:27px;margin-bottom:5px}.setup-content section>p{color:var(--muted);line-height:1.5;margin-bottom:28px}.setup-content label{display:block;font-size:13px;font-weight:600;margin:22px 0 9px}.setup-content textarea{min-height:120px;resize:vertical}.tag-picker{display:flex;flex-wrap:wrap;gap:8px}.tag-picker button,.two-options button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;color:#5f5954}.tag-picker button.selected,.two-options button.selected{background:#2b2724;color:#fff;border-color:#2b2724}.two-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two-options button{border-radius:14px;padding:14px}.sticky-action{position:fixed;z-index:10;bottom:86px;left:50%;transform:translate(-50%);width:min(480px,calc(100% - 40px))}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.photo-card{min-width:0}.photo-slot{aspect-ratio:3/4;border:1px dashed #cfc4b8;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f3eee7;color:var(--brand);overflow:hidden;position:relative}.photo-slot.filled{background:#2b2724;color:#fff}.photo-slot.filled>img,.photo-slot.filled>.profile-photo-preview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.photo-slot.filled>span,.photo-slot.filled>small{position:relative;z-index:1;text-shadow:0 1px 4px #000}.photo-slot small{margin-top:5px}.photo-caption{margin:10px 0 0!important;font-size:12px!important;color:var(--muted)}.photo-caption input{margin-top:7px;font-size:12px!important;padding:10px 11px!important}.range-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.range-row label{margin-top:0}.range-row input{margin-top:7px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.setup-content .check-grid label{display:flex;align-items:center;gap:8px;margin:0;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:12px;font-weight:500}.check-grid label.checked{border-color:#d58b73;background:#fae8dd;color:#794b3b}.check-grid input{width:16px;height:16px;margin:0;accent-color:#c8785e}.conditional-picker{margin-top:10px;padding:14px;border-radius:18px;background:#f7f0ea;border:1px solid #eadfd5}.conditional-picker>small{display:block;color:var(--muted);margin-bottom:12px}.custom-city-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.custom-city-row button{border:0;border-radius:12px;background:#292522;color:#fff;padding:0 16px;font-weight:700}.selected-city-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.selected-city-list button{border:0;border-radius:999px;background:#f2d8cc;color:#724535;padding:7px 10px}.setup-content label.preference-check{display:flex;align-items:flex-start;gap:10px;padding:14px;margin-top:18px;border:1px solid #eadfd5;border-radius:16px;background:#fff}.preference-check input{width:18px;height:18px;margin:2px 0 0;accent-color:#c8785e}.preference-check span{display:flex;flex-direction:column;gap:3px}.preference-check small{color:var(--muted);font-weight:400}.completion-card{margin:4px 0 26px;padding:16px;border-radius:18px;background:#f3ece6;border:1px solid #e8ddd3}.completion-card>div:first-child{display:flex;align-items:center;justify-content:space-between}.completion-card b{font-size:20px;color:#a4614b}.completion-track{height:8px;margin-top:11px;background:#ddd2c8;border-radius:999px;overflow:hidden}.completion-track i{display:block;height:100%;background:#d8896f;border-radius:inherit;transition:width .25s ease}.completion-card p{font-size:12px!important;margin:9px 0 0!important;color:var(--muted)!important}.completion-card.unlocked{background:#eef5ee;border-color:#d5e5d6}.completion-card.unlocked b{color:#3d7047}.completion-card.unlocked .completion-track i{background:#5f9168}.simple-header{padding-top:30px}.simple-header h1{margin:4px 0;font-size:32px}.chat-list{padding:0 14px}.chat-list>button{width:100%;display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:12px;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:14px 4px}.chat-list b{font-size:15px}.chat-list p{margin:4px 0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.chat-list>button>span{background:var(--brand);color:#fff;border-radius:999px;padding:3px 7px;font-size:11px}.chat-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;font-size:25px}.chat-room{height:100vh;max-width:520px;margin:auto;background:#f7f3ed;display:flex;flex-direction:column}.chat-room header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#fffdf9;border-bottom:1px solid var(--line)}.chat-room header div{display:flex;flex-direction:column;align-items:center}.chat-room header small{color:var(--muted)}.messages{flex:1;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:8px}.bubble{align-self:flex-start;max-width:78%;background:#fff;padding:9px 12px;border-radius:16px 16px 16px 4px}.bubble.mine{align-self:flex-end;background:#2b2724;color:#fff;border-radius:16px 16px 4px}.bubble p{margin:0;line-height:1.45}.bubble small{font-size:9px;opacity:.6}.message-form{display:flex;gap:8px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:#fff}.message-form input{flex:1;border:1px solid var(--line);border-radius:999px;padding:12px 15px}.message-form button{width:42px;height:42px;border-radius:50%;border:0;background:var(--brand);color:#fff;font-size:18px}@media (max-width:390px){.candidate-grid{gap:8px;padding:0 8px}.candidate-photo,.photo-placeholder{height:210px}.candidate-body{padding:11px}.candidate-body h3{font-size:17px}.tag-list span{font-size:9px;padding:4px 5px}.hero-card{min-height:360px}.auth-page h1{font-size:31px}}:root{--brand:#df9278;--brand-deep:#b96049;--peach:#f7d8c8;--paper:#fffaf5;--line:#eadfd5;background:#f4efe9}body{background:#f4efe9}.app-shell{background:#fffaf5}.bottom-nav a.active{color:#24211f}.match-page{padding-bottom:36px;background:#fffaf5}.match-header>div:nth-child(2){text-align:center}.match-header button{font-size:initial}.icon-button{width:40px;height:40px;border-radius:50%!important;display:grid;place-items:center;color:var(--ink)}.match-header h2{font-size:15px;margin:3px 0}.credit-chip{min-width:68px;height:36px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:4px;color:#84543f;background:#f7e4d8;border:1px solid #efd4c5;border-radius:999px}.credit-chip span{font-size:11px}.stage-progress i{background:#eee4db}.stage-progress i.active{background:#db8b70}.match-title-row{display:flex;align-items:center;justify-content:center;gap:18px;margin:25px 0 0}.match-title-row h1{font-size:27px;letter-spacing:.04em;margin:0}.match-title-row span{padding:5px 10px;border:1px solid #e2d7cd;border-radius:999px;color:#766e68;font-size:12px}.stage-hint{margin:8px 0 22px}.candidate-card{background:#fff;border-radius:22px;box-shadow:0 12px 30px #5e493714}.candidate-visual{height:278px;position:relative;overflow:hidden;background:#d8cec5}.candidate-visual .candidate-photo,.candidate-visual .photo-placeholder{width:100%;height:100%;object-fit:cover;background:#d8cec5;display:flex;align-items:center;justify-content:center;color:#fff5}.city-badge{position:absolute;top:10px;left:10px;padding:5px 9px;border-radius:8px;background:#262321bb;color:#fff;font-size:10px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.candidate-summary{position:absolute;left:0;right:0;bottom:0;padding:48px 13px 13px;color:#fff;background:linear-gradient(transparent,#171411d9)}.candidate-summary h3{font-size:20px;margin:0}.candidate-summary p{font-size:11px;margin:4px 0 0;color:#eee7e1}.candidate-body{padding:11px}.candidate-body .tag-list{min-height:25px}.candidate-body .tag-list span{background:#f5eee8;color:#685f58}.choose-button{min-height:42px;padding:9px 7px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:5px}.select-both-panel{margin:16px 14px 8px;padding:14px;background:#fae8dd;border:1px solid #efd6c8;border-radius:20px}.select-both-panel>div{display:flex;align-items:center;gap:10px;color:#9b624c}.select-both-panel p{display:flex;flex-direction:column;margin:0}.select-both-panel p b{font-size:14px;color:#3d322d}.select-both-panel p span{font-size:11px;color:#8b766c;margin-top:2px}.select-both-button{width:100%;margin-top:12px;padding:12px 16px;border:0;border-radius:13px;background:#272320;color:#fff;display:flex;justify-content:space-between;align-items:center;font-weight:700}.select-both-button small{font-weight:500;color:#f2c7b5}.select-both-button:disabled{background:#b8ada5;color:#f4efeb}.select-both-button:disabled small{color:#eee8e2}.confirm-modal h2{margin-bottom:8px}.confirm-modal p{color:var(--muted);margin-bottom:24px}@media (max-width:390px){.candidate-visual{height:240px}.candidate-visual .candidate-photo,.candidate-visual .photo-placeholder{height:100%}.candidate-body{padding:9px}.candidate-summary h3{font-size:17px}.select-both-panel{margin-left:8px;margin-right:8px}}.waiting-match-page .stage-hint{margin-bottom:22px}.waiting-pair-grid{align-items:stretch}.waiting-selected-card,.waiting-card{min-width:0}.waiting-card .candidate-body h3{font-size:18px}.waiting-photo{background:linear-gradient(145deg,#e9cabb,#c38b78);color:#fff}.waiting-photo>div{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.9}.waiting-photo>div span{font-size:13px;font-weight:700}.waiting-card-copy{min-height:46px;color:var(--muted);font-size:11px;line-height:1.55}.waiting-card-status{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:13px;padding:10px 7px;border-radius:12px;background:#f7eee8;color:#a96852;font-size:11px;font-weight:700}.waiting-card-status.selected{background:#fae3d8;color:#a45c46}.waiting-message{display:flex;align-items:center;gap:10px;margin:18px 14px;padding:14px 16px;border:1px solid #efd5c7;border-radius:18px;background:#fff0e8;color:#a15d47}.waiting-message div{display:flex;flex-direction:column;gap:3px}.waiting-message b{font-size:13px;color:#65483c}.waiting-message p{margin:0;color:#8d7369;font-size:11px}.waiting-home-button{display:block;margin:20px auto 0;padding:11px 26px}.app-shell.no-bottom-nav{padding-bottom:0}.candidate-detail-trigger{display:block;width:100%;padding:0;border:0;text-align:left;cursor:pointer}.profile-link-button{border:0;background:none;color:#a7634d;font-size:11px;padding:7px 0;cursor:pointer}.candidate-detail-backdrop{align-items:flex-end}.candidate-detail-modal{width:min(560px,100%);max-height:91vh;overflow:auto;background:var(--paper);border-radius:28px 28px 0 0}.candidate-detail-modal>header{display:flex;align-items:center;justify-content:space-between;padding:15px 18px 10px;position:sticky;top:0;background:#fffaf5ee;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1}.candidate-detail-modal>header h2{margin:2px 0;font-size:20px}.candidate-detail-modal>header small{color:var(--brand);letter-spacing:.12em}.detail-photo-strip{display:flex;gap:8px;overflow-x:auto;padding:8px 18px 0}.detail-photo-strip>div{min-width:150px}.detail-photo{width:150px;height:190px;object-fit:cover;border-radius:16px;background:#d8cec5}.detail-photo-strip small{display:block;color:var(--muted);font-size:10px;padding:5px 2px}.detail-body{padding:10px 20px 86px}.detail-body blockquote{font-size:15px;line-height:1.6}.detail-bio{color:var(--muted);font-size:13px;line-height:1.7}.detail-facts{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.detail-facts span{padding:7px 9px;background:#f1e9e2;border-radius:9px;font-size:11px}.detail-body section{margin-top:18px}.detail-body section>b{font-size:13px}.candidate-detail-modal>footer{position:sticky;bottom:0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#fffaf5ee;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.candidate-detail-modal>footer .primary-button{width:100%;padding:13px}.photo-fallback-stage-1{filter:blur(4px)}.photo-fallback-stage-2{filter:blur(3px)}.photo-fallback-stage-3{filter:blur(2px)}.photo-fallback-stage-4{filter:blur(0)}.ai-test-badge{position:absolute;top:10px;right:10px;padding:5px 8px;border-radius:8px;background:#df9278e6;color:#fff;font-size:9px}.ai-test-notice{padding:10px 12px;background:#fae8dd;border:1px solid #efd6c8;border-radius:12px;color:#8c5a47;font-size:11px;line-height:1.5}.candidate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.setup-page.onboarding{min-height:100vh}.setup-page.onboarding .setup-content{padding-bottom:96px}.setup-page.onboarding .sticky-action{bottom:calc(16px + env(safe-area-inset-bottom))}.birthday-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:8px}.birthday-grid select{min-width:0;padding-left:10px;padding-right:8px}.setup-action-bar{position:fixed;z-index:12;bottom:86px;left:50%;transform:translate(-50%);width:min(480px,calc(100% - 40px))}.setup-action-bar .primary-button{width:100%}.setup-page.onboarding{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.setup-page.onboarding .setup-header,.setup-page.onboarding>.stage-progress{flex:0 0 auto}.setup-page.onboarding .setup-content{flex:1 1 auto;min-height:0;overflow-y:auto;padding-bottom:24px;overscroll-behavior:contain}.setup-page.onboarding .setup-action-bar{position:static;transform:none;width:auto;flex:0 0 auto;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#fffaf5f5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e7a58e;outline-offset:2px}.photo-replace{position:absolute!important;z-index:3;bottom:10px;left:50%;transform:translate(-50%);margin:0!important;padding:7px 11px;border-radius:999px;background:#fff;color:#3a302b!important;font-size:11px!important;font-weight:700!important;white-space:nowrap;box-shadow:0 2px 10px #0004}.demo-account-switcher{position:fixed;z-index:30;right:16px;bottom:98px}.demo-switcher-button{border:0;border-radius:999px;background:#292522;color:#fff;padding:11px 16px;font-size:12px;font-weight:700;box-shadow:0 8px 24px #29252233}.demo-account-panel{position:absolute;right:0;bottom:52px;width:min(290px,calc(100vw - 32px));max-height:min(60vh,470px);overflow:auto;padding:15px;border:1px solid #eadfd5;border-radius:20px;background:#fffaf5;box-shadow:0 15px 40px #392a2026}.demo-account-panel-header{display:flex;align-items:center;justify-content:space-between}.demo-account-panel-header button{border:0;background:none;font-size:24px;color:var(--muted)}.demo-account-panel>p{font-size:11px;color:var(--muted);margin:5px 0 10px}.demo-account-option{width:100%;display:flex;align-items:center;gap:10px;padding:9px 4px;border:0;border-top:1px solid #f0e7df;background:transparent;text-align:left}.demo-account-option:first-of-type{border-top:0}.demo-account-option>span:last-child{display:flex;flex-direction:column;gap:2px}.demo-account-option small{font-size:11px;color:var(--muted)}.demo-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#efd0c1;color:#7b4e3e;font-weight:700}.demo-avatar.male{background:#d8e1e9;color:#4a6070}.demo-avatar.tester{background:#292522;color:#fff}.back-button{display:grid!important;place-items:center;width:38px!important;height:38px;border:0;background:#f1e9e2;border-radius:50%;color:var(--ink)}.simple-header .header-spacer{width:38px}.explore-home-card{margin:8px 0 28px;padding:20px;border-radius:22px;background:#f8e7dd;border:1px solid #efd7ca;display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.explore-home-card small{font-size:9px;letter-spacing:.18em;color:#a96852}.explore-home-card h2{margin:5px 0;font-size:22px}.explore-home-card p{margin:0;color:var(--muted);font-size:12px}.explore-home-card button{flex:0 0 auto;border:0;border-radius:999px;background:#292522;color:#fff;padding:11px 13px;font-size:11px;font-weight:700}.explore-home-card button span{margin-left:5px;color:#f1c6b4}.explore-page,.test-page{padding:20px;background:#fffaf5}.simple-header{padding:8px 0 10px}.simple-header h1{font-size:30px}.simple-header>button{width:36px;height:36px;border:0;border-radius:50%;background:#f1e9e2;color:var(--ink);font-size:24px}.explore-intro{margin:12px 0 24px;color:var(--muted);line-height:1.6}.explore-cards{display:grid;gap:12px}.explore-card{width:100%;display:flex;align-items:center;gap:13px;padding:17px;border:1px solid #eadfd5;border-radius:20px;background:#fff;text-align:left}.explore-card>span:nth-child(2){display:flex;flex-direction:column;gap:5px;flex:1}.explore-card b{font-size:16px}.explore-card small{font-size:11px;color:var(--muted);line-height:1.4}.explore-card i{font-style:normal;font-size:20px;color:var(--brand)}.explore-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:#f8e7dd;color:#b46750;font-size:24px}.tarot-card .explore-icon{background:#eee9f4;color:#73628b}.coming-card{opacity:.72}.coming-card em{font-size:10px;font-style:normal;color:var(--muted);white-space:nowrap}.explore-disclaimer{margin:24px 4px;color:#a39a92;font-size:11px;line-height:1.6;text-align:center}.test-progress{height:7px;background:#eee5dd;border-radius:999px;overflow:hidden}.test-progress i{display:block;height:100%;background:var(--brand);border-radius:inherit}.test-note{color:var(--muted);font-size:13px;line-height:1.6;margin:18px 0}.question-card{padding:25px 18px;border:1px solid #eadfd5;border-radius:24px;background:#fff;box-shadow:0 12px 30px #5e493711}.question-card>span{font-size:11px;color:var(--brand-deep);letter-spacing:.1em}.question-card h2{font-size:24px;line-height:1.35;margin:17px 0 25px}.question-card>div{display:grid;gap:12px}.question-card button{border:1px solid #eadfd5;border-radius:16px;background:#fffaf5;padding:17px;text-align:left;line-height:1.5;color:var(--ink)}.question-card button:hover{border-color:var(--brand);background:#fff2ec}.result-card{margin-top:22px;padding:30px 22px;border-radius:28px;background:linear-gradient(145deg,#332d29,#181614);color:#fff;text-align:center}.result-card>span{font-size:10px;letter-spacing:.2em;color:#c9a391}.result-card strong{display:block;margin:14px 0;font-size:58px;letter-spacing:.1em;color:#f4c4b1}.result-card h2{margin:0 0 10px;font-size:23px}.result-card p{color:#d1cbc4;line-height:1.7;font-size:13px}.result-again{display:block;margin:18px auto 0}.tarot-empty{text-align:center;padding:55px 10px 40px}.tarot-empty>div{font-size:76px;color:#927da7}.tarot-empty h2{font-size:20px;margin:10px 0 26px}.tarot-result{text-align:center;padding:20px 4px}.tarot-card-face{width:180px;height:260px;margin:0 auto 25px;border-radius:18px;border:8px solid #d0b7d7;background:linear-gradient(160deg,#3c3049,#17121d);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;box-shadow:0 18px 30px #3b2a471f}.tarot-card-face span{font-size:42px;color:#f4cf9e}.tarot-card-face b{font-size:25px}.tarot-card-face small{color:#d9cbe2}.tarot-result h2{font-size:23px}.tarot-result>p{color:var(--muted);line-height:1.8;font-size:14px;margin:0 auto 22px;max-width:330px}.tarot-warning{display:flex;flex-direction:column;gap:6px;margin:16px 0;padding:14px 15px;border-radius:17px;background:#fff0e8;border:1px solid #efd2c3;color:#754b3b}.tarot-warning b{font-size:13px}.tarot-warning span{font-size:11px;line-height:1.6}.tarot-question{display:block;margin:18px 0 0!important;color:var(--ink)!important;font-size:13px!important}.tarot-question select{display:block;width:100%;margin-top:8px;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink)}.tarot-meta{display:flex;justify-content:center;gap:7px;margin:-10px 0 18px}.tarot-meta span{padding:5px 10px;border-radius:999px;background:#f3e9f4;color:#715b7b;font-size:10px}.tarot-advice{display:flex;flex-direction:column;gap:6px;margin:0 auto 22px;padding:14px;text-align:left;border-radius:15px;background:#f7eee8;color:#6b554b;font-size:12px;line-height:1.6}.tarot-card-face.reversed{transform:rotate(180deg)}.tarot-card-face.reversed>*{transform:rotate(180deg)}.tarot-spread{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px -4px 24px}.tarot-spread-item>small{display:block;margin-bottom:8px;color:var(--muted);font-size:11px}.tarot-card-face.mini{width:100%;height:180px;margin:0;border-width:5px;border-radius:13px;gap:6px}.tarot-card-face.mini span{font-size:24px}.tarot-card-face.mini b{font-size:14px;white-space:nowrap}.tarot-card-face.mini small{font-size:10px}.tarot-reading{text-align:left;margin:18px 0;padding:15px;border-radius:16px;background:#fff;border:1px solid #eadfd5}.tarot-reading>b{font-size:13px;color:#59464e}.tarot-reading>p{color:var(--muted);font-size:13px;line-height:1.8;margin:9px 0 0}.tarot-reading .tarot-advice{margin:14px 0 0}.tarot-empty>p{color:var(--muted);font-size:12px;margin:-15px 0 24px}.tarot-result button:disabled{opacity:.58;cursor:not-allowed}.tarot-confirm-backdrop{align-items:center}.tarot-confirm-modal{padding:28px 24px}.tarot-confirm-modal h2{font-size:24px;margin:10px 0}.tarot-confirm-modal p{font-size:13px;line-height:1.7;color:var(--muted)}.tarot-confirm-modal>div{margin-top:22px}.tarot-confirm-modal .secondary-button,.tarot-confirm-modal .primary-button{width:100%;padding:12px}.mbti-history{margin-top:20px;padding:16px;border:1px solid #eadfd5;border-radius:18px;background:#fff}.mbti-history>b{font-size:13px}.mbti-history>div{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;padding:10px 0;border-top:1px solid #f0e7df;margin-top:9px}.mbti-history strong{color:var(--brand-deep);letter-spacing:.08em}.mbti-history small{color:var(--muted);font-size:10px}.mbti-complete-note{margin:22px 0;text-align:center;color:var(--muted);font-size:13px}.result-again{width:100%}.connection-switch{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px;padding:5px;border:1px solid var(--line);border-radius:19px;background:#f3ece6}.connection-switch button{min-width:0;padding:12px;border:0;border-radius:14px;background:transparent;color:var(--muted);text-align:left}.connection-switch button.active{background:#fff;box-shadow:0 5px 16px #4f392b12;color:var(--ink)}.connection-switch span{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:800}.connection-switch span b{min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:var(--brand);color:#fff;font-size:10px}.connection-switch small{display:block;margin-top:3px;font-size:9px;color:#9a9088}.home-page .hero-card{margin-top:16px}.match-results-page{position:relative;padding:0 20px 110px;background:#fffaf5}.result-header{padding-left:0;padding-right:0;text-align:center}.result-header>div{display:flex;flex-direction:column;align-items:center}.result-header h1{margin:3px 0;font-size:25px}.result-intro{margin:6px 4px 22px;color:var(--muted);font-size:12px;line-height:1.65;text-align:center}.mutual-result-list{display:grid;gap:12px}.mutual-result-card{display:grid;grid-template-columns:82px 1fr;gap:14px;padding:14px;border:1px solid var(--line);border-radius:22px;background:#fff}.mutual-result-card.matched{border-color:#edc7b7;background:#fff3ed}.result-avatar{width:82px;height:110px;border-radius:15px;object-fit:cover;background:#ded4cb}.result-copy{min-width:0;padding:3px 0}.result-copy>span{display:flex;align-items:center;gap:5px;color:#9a8d84;font-size:10px;font-weight:700}.matched .result-copy>span{color:var(--brand-deep)}.result-copy h2{margin:9px 0 4px;font-size:17px;line-height:1.35}.result-copy p{margin:0 0 7px;color:#635b55;font-size:12px}.result-copy small{display:block;color:var(--muted);font-size:11px;line-height:1.5}.result-empty{padding:70px 30px;text-align:center}.result-empty>span{font-size:76px;color:#e3aa94}.result-empty h2{margin:8px 0;font-size:22px}.result-empty p{color:var(--muted);font-size:12px;line-height:1.7}.result-close-bar{position:fixed;z-index:12;bottom:78px;left:50%;transform:translate(-50%);width:min(520px,100%);padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#fffaf5ed;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.result-close-bar button{width:100%}.result-close-bar button:disabled{opacity:.55;cursor:wait}.round-summary{display:flex;align-items:center;justify-content:space-between;margin:18px 14px 14px;padding:22px 20px;border:1px solid #eadfd5;border-radius:24px;background:#fff;box-shadow:0 8px 24px #5e49370b}.round-summary small{color:#bd674e;font-size:9px;letter-spacing:.18em}.round-summary h1{margin:8px 0 3px;font-size:26px;letter-spacing:-.04em}.round-summary h1 b{color:#df7567;font-size:42px}.round-summary p{margin:0;color:#77716c;font-size:11px}.round-summary>svg{color:#e68b7b;opacity:.78}.round-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 14px 16px;scrollbar-width:none}.round-tabs::-webkit-scrollbar{display:none}.round-tabs>div{flex:0 0 94px;padding:10px 7px;border:1px solid #e8e0d8;border-radius:22px;background:#fffaf5;text-align:center;color:#77716c}.round-tabs>div.all{flex-basis:76px}.round-tabs>div.active{border:2px solid #e87568;color:#df625c;background:#fff}.round-tabs b,.round-tabs small{display:block}.round-tabs b{font-size:12px;font-weight:600}.round-tabs small{margin-top:4px;font-size:10px}.completed-round-note{display:flex;align-items:center;gap:6px;margin:0 14px 12px;padding:10px 12px;border-radius:12px;background:#eef5ee;color:#4b7952;font-size:11px}.round-panel{margin:0 14px 16px;padding:16px 0 14px;border:1px solid #eee5dd;border-radius:24px;background:#fff;overflow:hidden}.round-panel-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px}.round-panel-header h2{margin:0;font-size:18px;letter-spacing:.08em}.round-status{padding:7px 10px;border-radius:999px;font-size:10px;white-space:nowrap}.round-status.active,.round-status.waiting{background:#fff0eb;color:#df6759}.round-status.upcoming{background:#f7eee8;color:#9f7b69}.active-round-panel .stage-hint{margin:12px 14px 18px}.active-round-panel .candidate-grid{padding:0 10px}.active-round-panel+.select-both-panel{margin-top:0}.locked-round-list{display:grid;gap:12px}.locked-round-panel{padding-bottom:0}.locked-round-panel .round-panel-header{padding-bottom:14px}.locked-pair-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 10px}.locked-pair-preview>div{height:130px;border-radius:18px;background:#f3e9e3}.locked-pair-preview>div:last-child{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#b89c8d;font-size:10px;text-align:center;background:#f9f0eb}.waiting-round-panel .candidate-grid{padding:0 10px}.waiting-round-panel{border-color:#efd5c8}.waiting-round-panel .waiting-pair-grid{gap:10px}.waiting-round-panel .waiting-message{margin-left:10px;margin-right:10px}@media (max-width:390px){.round-summary{margin-left:8px;margin-right:8px}.round-tabs{padding-left:8px;padding-right:8px}.round-panel{margin-left:8px;margin-right:8px}.round-tabs>div{flex-basis:88px}.round-tabs>div.all{flex-basis:72px}}.home-round-summary{margin-top:16px;padding:24px 22px;border:1px solid #eadfd5;border-radius:26px;background:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;box-shadow:0 14px 36px #60472f0d}.home-round-summary small{font-size:9px;letter-spacing:.18em;color:#c27761}.home-round-summary h1{margin:8px 0 5px;font-size:28px;line-height:1.15}.home-round-summary h1 b{color:#e36f66;font-size:39px}.home-round-summary p{margin:0;color:#827971;font-size:12px;line-height:1.5}.home-credit{display:flex;align-items:center;gap:4px;flex:0 0 auto;padding:9px 12px;border:1px solid #f0d6ca;border-radius:999px;background:#fff4ee;color:#945d4b}.home-credit span{font-size:10px}.home-round-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.home-round-tabs>div{min-width:0;padding:10px 4px;border:1px solid #e5ddd5;border-radius:18px;background:#fff;text-align:center;color:#8c837d}.home-round-tabs b{display:block;font-size:11px;white-space:nowrap}.home-round-tabs small{display:block;margin-top:4px;font-size:9px}.home-round-tabs .active{border:2px solid #ed736b;color:#df615c;background:#fff8f5}.home-round-tabs .done{border-color:#edc9bc;color:#aa705f;background:#fff4ef}.home-versus-panel{position:relative;margin:0 0 18px;padding:18px 12px 16px;border:1px solid #eadfd5;border-radius:27px;background:#fff;box-shadow:0 18px 42px #60472f12}.home-versus-panel>header{display:flex;align-items:center;justify-content:space-between;margin:0 4px 15px}.home-versus-panel>header h2{margin:0;font-size:19px;letter-spacing:.06em}.home-versus-panel>header span{padding:7px 10px;border-radius:999px;font-size:10px;font-weight:700}.home-versus-panel>header span.active{background:#fff0ea;color:#df625b}.home-versus-panel>header span.waiting{background:#f7eee8;color:#9b745f}.home-versus-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch}.home-vs-badge{position:absolute;z-index:5;left:50%;top:42%;transform:translate(-50%,-50%);width:42px;height:42px;display:grid;place-items:center;border:4px solid #fff;border-radius:50%;background:#fff6f0;color:#e56360;font-family:Georgia,serif;font-size:14px;font-weight:700;box-shadow:0 5px 16px #4f392b24}.home-candidate-card{min-width:0;border:1px solid #e7ddd4;border-radius:21px;overflow:hidden;background:#fff}.home-candidate-photo{position:relative;width:100%;height:228px;padding:0;border:0;background:#ded4cb;overflow:hidden}.home-candidate-photo:disabled{opacity:1}.home-candidate-photo img,.home-candidate-photo>div{width:100%;height:100%;object-fit:cover;display:block}.home-city-badge,.home-selected-badge{position:absolute;top:9px;padding:5px 8px;border-radius:8px;color:#fff;font-size:9px;font-weight:700}.home-city-badge{left:9px;background:#322b28d9}.home-selected-badge{right:9px;background:#e77d67;display:flex;align-items:center;gap:3px}.home-candidate-copy{padding:12px}.home-candidate-copy h3{margin:0;font-size:18px}.home-candidate-copy p{margin:5px 0 2px;color:#5f5751;font-size:11px}.home-candidate-copy small{display:block;color:#8c837d;font-size:10px}.home-candidate-copy>button{width:100%;margin-top:11px;padding:10px 7px;border:0;border-radius:12px;background:#ef6e68;color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:5px}.home-locked-card{min-height:305px;border-radius:21px;background:#d9c5bb;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px}.home-locked-card b{margin:12px 0 5px;font-size:14px}.home-locked-card span{max-width:120px;font-size:10px;line-height:1.5;color:#fff8}.home-pair-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:9px;margin-top:13px}.home-pair-actions button{min-height:46px;border-radius:15px;font-weight:800}.skip-pair-button{border:1px solid #ded5cd;background:#fff;color:#625a54}.choose-both-home{border:0;background:#ef6e68;color:#fff;display:flex;align-items:center;justify-content:center;gap:6px}.choose-both-home small{font-size:9px;color:#ffe4dc}.choose-both-home:disabled{background:#b9ada6}.home-wait-copy{margin:14px 5px 0;color:#8a817a;text-align:center;font-size:11px;line-height:1.6}.home-match-message{margin:-5px 0 18px;padding:11px 14px;border-radius:13px;background:#fff0e9;color:#9a5f4d;text-align:center;font-size:11px}.home-match-loading{margin-top:16px;min-height:260px;border:1px solid #eadfd5;border-radius:26px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#8d837c}.home-match-loading span{font-size:12px}@media (max-width:390px){.home-round-summary{padding:20px 17px}.home-round-summary h1{font-size:24px}.home-round-summary h1 b{font-size:34px}.home-round-tabs{gap:5px}.home-round-tabs>div{padding:9px 2px}.home-round-tabs b{font-size:10px}.home-versus-panel{padding-left:9px;padding-right:9px}.home-versus-grid{gap:8px}.home-candidate-photo{height:205px}.home-candidate-copy{padding:10px 8px}.home-candidate-copy h3{font-size:16px}.home-vs-badge{width:38px;height:38px}.home-locked-card{min-height:277px}}
