@font-face{font-family:Liyu;src:url(/fonts/%E6%BC%93%E9%9B%A8%E6%89%8B%E4%B9%A6.ttf) format("truetype");font-display:swap}:root{color-scheme:light;--bg: #f5efe2;--panel: #efe7d5;--ink: #1b1710;--line: rgba(27, 23, 16, .16);--glass: rgba(255, 255, 255, .58);font-size:17px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:Liyu,KaiTi,STKaiti,serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit}.app-shell{width:100%;max-width:480px;min-height:100dvh;height:100%;margin:0 auto;display:flex;flex-direction:column;background:var(--bg)}.topbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(env(safe-area-inset-top,0px) + 14px) 18px 12px;background:var(--panel);border-bottom:1px solid var(--line);font-size:.92rem;letter-spacing:.08em}.page{flex:1;overflow-y:auto;padding:28px 22px calc(env(safe-area-inset-bottom,0px) + 24px)}.home-page{display:flex;flex-direction:column;justify-content:center}.title{font-size:2rem;line-height:1.3;letter-spacing:.1em;margin-bottom:2.6rem;text-align:center;font-weight:400}.actions{display:grid;gap:12px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:48px;padding:13px 16px;border-radius:14px;border:1px solid rgba(27,23,16,.34);background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink);font-size:1rem;letter-spacing:.1em;cursor:pointer}.btn:active{background:#ffffffe6}.btn--ghost{background:#ffffff47;border-color:#1b171038}.text-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink);padding:6px 0;font-size:.92rem;letter-spacing:.08em;cursor:pointer}.setting-block{border-top:1px solid var(--line);padding:18px 0 10px}.setting-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.setting-row span:last-child{color:#1b1710b3;font-size:.88rem}input[type=range]{width:100%;height:28px;accent-color:var(--ink)}.role-list{display:grid;gap:12px}.role-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;flex-direction:column;gap:10px;text-align:left;color:var(--ink);background:#ffffff80;border:1px solid var(--line);border-radius:8px;padding:14px 16px;cursor:pointer}.role-card.is-selected{background:var(--panel);border-color:var(--ink)}.select-intro{margin-bottom:18px;letter-spacing:.06em;color:#1b1710ad;font-size:.95rem}.role-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.role-number{font-size:.8rem;color:#1b171073}.role-title{flex:1;font-size:1.08rem;letter-spacing:.1em}.role-select-mark{font-size:.78rem;color:#1b17108c}.role-hint{display:block;font-size:.88rem;color:#1b1710b3;line-height:1.7}.role-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;text-align:center;border-top:1px solid var(--line);padding-top:10px}.role-stat{font-size:.8rem;line-height:1.35;color:#1b1710c7}.role-stat b{display:block;font-size:1.02rem;font-weight:400;color:var(--ink)}
