*{box-sizing:border-box}body{margin:0;background:#fbf6ef;color:#33282c;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{touch-action:manipulation}main{width:100%;max-width:480px;margin:0 auto;padding:24px;padding-top:24px;padding-top:calc(24px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)));padding-bottom:24px;padding-bottom:calc(24px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))}[hidden]{display:none!important}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ded4d0;padding-bottom:18px}.brand{font-size:12px;font-weight:750;letter-spacing:2px;color:#a32b53}.edition{font-size:10px;letter-spacing:2px;color:#77676b}.hero{position:relative;margin-top:30px}.eyebrow{font-size:12px;letter-spacing:1px;color:#886e78;margin:0 0 14px}h1{font-size:34px;line-height:1.25;letter-spacing:-1px;margin:0;font-weight:800}h1 span{display:block;font-size:23px;line-height:1.55;letter-spacing:0;margin-top:12px;font-weight:600}.orbit{position:absolute;right:8px;top:35px;color:#ae305b;font-size:70px;transform:rotate(-12deg)}.orbit i{position:absolute;right:-9px;top:64px;font-size:29px;font-style:normal}.intro{font-size:14px;line-height:1.7;color:#796970;margin:24px 0}.pair{background:#fffdf9;border:1px solid #e2d9d4;border-radius:16px;margin-bottom:12px;padding:17px 18px;display:flex;justify-content:space-between;align-items:center}.pair label{min-width:0;display:block;font-size:15px;font-weight:650}.pair small{display:block;font-size:9px;letter-spacing:2px;color:#9c737f;margin-bottom:5px}select{font:inherit;font-size:15px;font-weight:600;color:#a32b53;border:0;background:transparent;max-width:49%;min-height:44px;padding:6px 4px;cursor:pointer}button{font:inherit;cursor:pointer;touch-action:manipulation}button:active{opacity:.75}button:focus,select:focus,summary:focus{outline:2px solid #a32b53;outline-offset:4px}.primary,.secondary{border-radius:14px;width:100%;padding:17px 20px;min-height:54px;font-weight:650;font-size:16px}.primary{border:0;background:#aa2d56;color:#fff9f1;display:flex;justify-content:space-between;align-items:center;margin-top:20px}.primary span{font-size:23px;line-height:20px}.primary:disabled{background:#e5c3cd;color:#735c63;cursor:default}.secondary{margin-top:10px;background:transparent;border:1px solid #d7bec6;color:#8f3150}.text-button{border:0;background:transparent;color:#923657;padding:16px;width:100%}.note{font-size:12px;line-height:1.7;color:#8b737a;text-align:center}.error{color:#a12b50;font-size:12px}.error:empty{display:none}.help{margin-top:20px;color:#897279;font-size:12px}.help p{line-height:1.8}.help summary{cursor:pointer;padding:8px 0}footer{border-top:1px solid #e3d9d4;margin-top:28px;padding-top:14px;font-size:10px;color:#928089;line-height:1.8}footer p{margin:0 0 7px}#result{padding-top:27px}.result-card{border-radius:20px;background:#a72b54;color:#fff6e9;padding:24px 22px;position:relative;overflow:hidden}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1px}.card-top span:last-child{font-size:32px}.english{font-size:11px;letter-spacing:1.5px;line-height:1.6;color:#f1bdcd;margin:27px 0 8px}h2{font-size:32px;line-height:1.3;margin:0 0 22px;letter-spacing:-.5px;outline:none}.summary{font-size:16px;line-height:1.85;margin:0 0 28px}.card-bottom{border-top:1px solid #c86684;padding-top:16px;font-size:11px;line-height:1.6}.card-bottom span{display:block}.card-bottom span:last-child{font-size:8px;letter-spacing:2px;margin-top:7px;color:#efb8c9}.explanation{border-bottom:1px solid #e2d5d5;margin-top:14px;font-size:13px;line-height:1.9}.explanation summary{padding:14px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.explanation summary::-webkit-details-marker{display:none}.explanation p{margin:0 0 20px;color:#75636a}#direction{line-height:1.7} @media(max-width:350px){main{padding-left:18px;padding-right:18px}h1{font-size:30px}h1 span{font-size:21px}.orbit{right:0;font-size:57px}.pair{padding:13px 12px}h2{font-size:29px}} @media(min-width:600px){main{padding-top:36px}}
@media(max-width:350px){.orbit{right:16px}}

/* Website typography and desktop framing */
html{font-size:16px}body{min-height:100vh}main{max-width:520px}.intro,.pair label,select{font-size:1rem}.brand,.edition,.eyebrow,.pair small,.english,.card-top,.card-bottom,.card-bottom span:last-child{font-size:.75rem}.help,.note,.error,.explanation{font-size:.875rem}footer{font-size:.75rem;color:#75656d}.intro{color:#6f5e66}h1{letter-spacing:0}h2{letter-spacing:0}.pair small{letter-spacing:1px}.card-bottom span:last-child{letter-spacing:1px}@media(min-width:760px){body{background:#f3e8e8}main{margin:40px auto;background:#fbf6ef;border:1px solid #e4d6d9;border-radius:28px;padding:32px;box-shadow:0 16px 70px rgba(76,30,48,.06)}}
