@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap";:root{--color-bg: #F6F4F0;--color-card: #FFFFFF;--color-green: #4A6741;--color-green-light: #EEF2EB;--color-green-soft: #D4DFD0;--color-text: #2C2C2A;--color-sub: #8A857D;--color-muted: #B5B0A7;--color-border: #E8E5DF;--color-warm: #F0EDE7;--color-draft: #C4A25A;--color-draft-bg: #FAF6ED;--color-red: #8B4A4A;--color-red-bg: #F3EDED;--diff-easy: #5A7A5A;--diff-easy-bg: #EEF3EE;--diff-medium: #8B7340;--diff-medium-bg: #F5F0E6;--diff-hard: #8B4A4A;--diff-hard-bg: #F3EDED;--font-family: "Nunito", sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,textarea,select{font-family:var(--font-family)}::-webkit-scrollbar{display:none}a{text-decoration:none}.tap{cursor:pointer;transition:transform .12s}.tap:active{transform:scale(.97)!important}.field{width:100%;padding:13px 14px;background:#fff;border:1.5px solid var(--color-border);border-radius:12px;font-size:15px;color:var(--color-text);outline:none;transition:border .2s;min-width:0}.field:focus{border-color:var(--color-green)}.field::placeholder{color:var(--color-muted)}.sel{width:100%;padding:13px 14px;background:#fff;border:1.5px solid var(--color-border);border-radius:12px;font-size:15px;color:var(--color-text);outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' stroke='%23B5B0A7' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.sel:focus{border-color:var(--color-green)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c2c2a4d;z-index:100;animation:fadeIn .25s ease both;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.sheet{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;background:var(--color-bg);border-radius:20px 20px 0 0;z-index:101;animation:sheetIn .35s cubic-bezier(.32,1,.5,1) both;max-height:88vh;overflow-y:auto;overflow-x:hidden;padding:0 20px 36px;box-shadow:0 -4px 30px #00000014}.handle{width:32px;height:4px;background:var(--color-muted);border-radius:2px;margin:10px auto 18px;opacity:.4}@keyframes popIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes wiggle{0%,to{transform:rotate(0)}30%{transform:rotate(-4deg)}70%{transform:rotate(4deg)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(14px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes sheetIn{0%{transform:translate(-50%) translateY(100%)}to{transform:translate(-50%) translateY(0)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}
