*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:#12121c;color:#e8e8f0}
main{max-width:480px;margin:0 auto;padding:20px 16px 60px}h1{font-size:1.6rem}h2{font-size:1.1rem;margin-top:24px}
.card{background:#1c1c2b;border-radius:14px;padding:16px;margin:12px 0}
button{width:100%;padding:14px;border:0;border-radius:12px;background:#7c5cff;color:#fff;font-size:1rem;margin:6px 0;cursor:pointer}
button.alt{background:#2a2a3d}a{color:#a99bff}label{display:block;margin:10px 0 4px;font-size:.9rem;color:#b8b8c8}
input,select{width:100%;padding:10px;border-radius:10px;border:1px solid #33334a;background:#151520;color:#e8e8f0}
.chips label{display:inline-flex;gap:6px;align-items:center;background:#2a2a3d;padding:8px 12px;border-radius:20px;margin:4px}
.chips input,.check input{width:auto}.check{display:flex;gap:8px;align-items:flex-start}
.bar{height:10px;background:#2a2a3d;border-radius:6px;overflow:hidden}.bar div{height:100%;background:linear-gradient(90deg,#7c5cff,#3fd0a0)}
.quest{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #2a2a3d}
.quest.done span{text-decoration:line-through;color:#777}.quest button{width:auto;padding:8px 14px;margin:0}
.notice{background:#3a2e10;border:1px solid #a07a20;border-radius:12px;padding:12px}.small{font-size:.8rem;color:#999}
.row{display:flex;gap:8px}.stub{font-size:.75rem;color:#f0b060}.hidden{display:none}
.notice label{display:flex;align-items:center;gap:10px;min-height:44px;margin:2px 0;cursor:pointer}.notice label input[type=checkbox]{width:22px;height:22px;flex:none;margin:0;padding:0}
button:disabled,button[aria-disabled=true]{opacity:.45;cursor:not-allowed}
