:root{--beige:#FAF7F2;--beige-dark:#F0EBE1;--beige-border:#E8E0D4;--green:#5BAD8F;--green-light:#E8F5EF;--green-dark:#3D8A6E;--blue:#5B8FBD;--blue-light:#EAF2FB;--blue-dark:#3A6E9E;--orange:#F08A5D;--orange-light:#FEF0E8;--red:#E05D5D;--red-light:#FDEAEA;--text:#2D2A26;--text-mid:#6B6560;--text-light:#A09890;--white:#FFFFFF;--shadow:0 2px 12px rgba(45,42,38,.08);--radius:16px;--radius-sm:10px}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;font-family:'Nunito',sans-serif;background:var(--beige);color:var(--text)}
a{color:inherit;text-decoration:none}
#app{min-height:100vh;max-width:430px;margin:0 auto;position:relative;background:var(--beige)}
.screen{min-height:100vh;display:flex;flex-direction:column}
.header{padding:52px 20px 16px;background:var(--white);display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--beige-border)}
.header-logo{font-size:22px;font-weight:900;color:var(--green-dark);letter-spacing:-.5px}
.header-logo span{color:var(--orange)}
.header-back{width:36px;height:36px;border-radius:50%;background:var(--beige);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.header-title{font-size:17px;font-weight:800;color:var(--text);flex:1}
.scroll-content{flex:1;overflow-y:auto;padding-bottom:24px}
.splash{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:32px 28px;text-align:center;gap:18px}
.splash-logo{font-size:48px;font-weight:900;color:var(--green-dark);letter-spacing:-2px}
.splash-logo span{color:var(--orange)}
.role-btn{padding:18px;border-radius:var(--radius);border:2px solid var(--beige-border);background:var(--white);display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .2s;width:100%}
.role-btn.selected{border-color:var(--green);background:var(--green-light)}
.role-emoji{font-size:34px}
.role-text h3{font-size:16px;font-weight:800;color:var(--text);text-align:left}
.role-text p{font-size:12px;color:var(--text-light);text-align:left;margin-top:2px}
.card{background:var(--white);border-radius:var(--radius);padding:16px;margin:16px;box-shadow:var(--shadow)}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:var(--radius-sm);border:none;font-family:'Nunito',sans-serif;font-weight:800;font-size:15px;cursor:pointer;transition:all .2s;width:100%}
.btn-primary{background:var(--green);color:white}
.btn-blue{background:var(--blue);color:white}
.btn-light{background:var(--white);color:var(--text-mid);border:1px solid var(--beige-border)}
.input-group{margin-bottom:14px}
.input-label{font-size:12px;font-weight:700;color:var(--text-mid);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;display:block}
.input{width:100%;padding:12px 14px;border:1.5px solid var(--beige-border);border-radius:var(--radius-sm);font-family:'Nunito',sans-serif;font-size:15px;color:var(--text);background:var(--white);outline:none}
.toast{position:fixed;top:60px;left:50%;transform:translateX(-50%);background:var(--text);color:white;padding:10px 20px;border-radius:20px;font-size:13px;font-weight:700;z-index:9999;opacity:0;transition:opacity .3s;pointer-events:none;white-space:nowrap;max-width:90vw;text-align:center}
.toast.show{opacity:1}
.grid{display:grid;gap:12px}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stat{background:var(--beige-dark);border-radius:12px;padding:10px;text-align:center}
.stat-num{font-size:20px;font-weight:900}
.stat-lbl{font-size:11px;color:var(--text-light)}
.task{background:var(--white);border:1px solid var(--beige-border);border-radius:12px;padding:12px;margin-bottom:10px}
.meta{font-size:12px;color:var(--text-light);margin-top:4px}
.loading{position:fixed;inset:0;background:rgba(250,247,242,.9);display:flex;align-items:center;justify-content:center;z-index:9998;font-weight:800;color:var(--text-mid)}
.hidden{display:none}
.footer-links{display:flex;gap:8px;justify-content:center;margin-top:12px;font-size:13px;color:var(--text-mid)}
