.cook-spinner{display:inline-block;vertical-align:middle;flex-shrink:0;width:var(--spinner-size, 40px);height:var(--spinner-size, 40px);border-radius:50%;border:calc(var(--spinner-size, 40px) * .12) solid rgba(255,224,178,.18);border-top-color:#ffe0b2;animation:cook-spin .7s linear infinite}@keyframes cook-spin{to{transform:rotate(360deg)}}.cook-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;padding:56px 0}.cook-loader__text{color:#78716c;font-size:14px;letter-spacing:.02em}@media (prefers-reduced-motion: reduce){.cook-spinner{animation-duration:1.6s}}.cook-title{font-size:clamp(38px,7vw,56px)!important;line-height:1.2!important}.cook-editor ::-moz-selection,.cook-title::-moz-selection,.cook-page ::-moz-selection{background:#ffe0b2;color:#171717}.cook-editor ::selection,.cook-title::selection,.cook-page ::selection{background:#ffe0b2;color:#171717}.cook-editor .ProseMirror{outline:none;font-family:Karla,-apple-system,BlinkMacSystemFont,sans-serif;font-size:18px;line-height:1.7;color:#171717;min-height:1.7em;word-break:break-word}.cook-editor .ProseMirror>*+*{margin-top:.75em}.cook-editor .ProseMirror .is-empty:before{content:attr(data-placeholder);color:#b3b3b3;float:left;height:0;pointer-events:none}.cook-editor .ProseMirror h1,.cook-editor .ProseMirror h2,.cook-editor .ProseMirror h3{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.2;letter-spacing:-.01em}.cook-editor .ProseMirror h1{font-size:30px;margin-top:1em}.cook-editor .ProseMirror h2{font-size:24px;margin-top:1em}.cook-editor .ProseMirror h3{font-size:20px;margin-top:.8em}.cook-editor .ProseMirror strong{font-weight:700}.cook-editor .ProseMirror em{font-style:italic}.cook-editor .ProseMirror a{color:#ffe0b2;text-decoration:underline;cursor:pointer}.cook-editor .ProseMirror ul,.cook-editor .ProseMirror ol{padding-left:1.4em;list-style:revert}.cook-editor .ProseMirror ol{list-style:decimal}.cook-editor .ProseMirror li{margin:.25em 0}.cook-editor .ProseMirror li p{margin:0}.cook-editor .ProseMirror ul[data-type=taskList]{list-style:none;padding-left:0}.cook-editor .ProseMirror ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:10px;margin:.1em 0}.cook-editor .ProseMirror ul[data-type=taskList] li>label{flex:0 0 auto;margin-top:.35em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cook-editor .ProseMirror ul[data-type=taskList] li>div{flex:1 1 auto}.cook-editor--readonly .ProseMirror ul[data-type=taskList] li>label,.cook-editor--readonly .ProseMirror ul[data-type=taskList] li>div{cursor:pointer}.cook-editor .ProseMirror ul[data-type=taskList] input[type=checkbox]{width:18px;height:18px;accent-color:#ffe0b2;cursor:pointer}.cook-editor .ProseMirror ul[data-type=taskList] li:has(>label input:checked)>div{color:#a3a3a3;text-decoration:line-through}.cook-editor .ProseMirror blockquote{border-left:3px solid #e5e5e5;padding-left:14px;color:#737373;font-style:italic}.cook-editor .ProseMirror code{font-family:monospace;font-size:.9em;background:#f5f5f5;padding:1px 4px;border-radius:4px}.cook-editor .ProseMirror pre{background:#f5f5f5;padding:12px 14px;border-radius:8px;overflow-x:auto}.cook-editor .ProseMirror pre code{background:none;padding:0}.cook-editor .ProseMirror hr{border:none;border-top:1px solid #e5e5e5;margin:1em 0}.cook-editor .ProseMirror img{display:block;max-width:100%;height:auto;border-radius:10px;margin:.5em 0}.cook-editor .ProseMirror img.ProseMirror-selectednode{outline:2px solid #ffe0b2}.cook-editor--readonly .ProseMirror{min-height:0}.cook-bubble,.cook-floating{display:flex;align-items:center;gap:2px;background:#171717;border-radius:8px;padding:4px;box-shadow:0 6px 20px #00000038}.cook-floating{background:#fff;border:1px solid #e5e5e5;box-shadow:0 6px 20px #0000001f}.cook-tool{display:inline-flex;align-items:center;justify-content:center;height:30px;min-width:30px;padding:0 7px;border-radius:6px;color:#f5f5f5;font-family:Karla,sans-serif;font-size:14px;cursor:pointer;transition:background .12s ease}.cook-tool:hover{background:#ffffff24}.cook-tool.is-active{color:#fdba74}.cook-floating .cook-tool{color:#404040}.cook-floating .cook-tool:hover{background:#f0f0f0}.cook-page--dark .cook-editor .ProseMirror{color:#e5e5e5}.cook-page--dark .cook-editor .ProseMirror .is-empty:before{color:#737373}.cook-page--dark .cook-editor .ProseMirror blockquote{border-left-color:#404040;color:#a3a3a3}.cook-page--dark .cook-editor .ProseMirror code,.cook-page--dark .cook-editor .ProseMirror pre{background:#262626}.cook-page--dark .cook-editor .ProseMirror hr{border-top-color:#404040}.cook-page--dark .cook-editor .ProseMirror ul[data-type=taskList] li:has(>label input:checked)>div{color:#737373}.cook-page--dark .cook-floating{background:#262626;border-color:#404040}.cook-page--dark .cook-floating .cook-tool{color:#d4d4d4}.cook-page--dark .cook-floating .cook-tool:hover{background:#333}.cook-page--dark .cook-editor ::-moz-selection,.cook-page--dark .cook-title::-moz-selection{background:#92400e;color:#fff}.cook-page--dark .cook-editor ::selection,.cook-page--dark .cook-title::selection{background:#92400e;color:#fff}.grocery-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;min-width:20px;border-radius:6px;border:1.5px solid #d4d4d4;background-color:#fff;cursor:pointer;position:relative;flex-shrink:0;transition:background-color .12s ease,border-color .12s ease,transform .1s ease}.grocery-checkbox:hover{border-color:#f0b45c}.grocery-checkbox:active{transform:scale(.9)}.grocery-checkbox:checked{background-color:#ffe0b2;border-color:#ffe0b2}.grocery-checkbox:checked:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border-style:solid;border-color:#171717;border-width:0 2px 2px 0;transform:rotate(45deg)}.cook-page--dark .grocery-checkbox{background-color:transparent;border-color:#525252}.grocery-item-row{border-radius:6px;transition:background-color .12s ease}.grocery-item-row:hover{background-color:#00000006}.cook-page--dark .grocery-item-row:hover{background-color:#ffffff0b}.grocery-remove-btn{opacity:.5;border-radius:6px;transition:opacity .12s ease,background-color .12s ease,color .12s ease}.grocery-item-row:hover .grocery-remove-btn{opacity:1}.grocery-remove-btn:hover{background-color:#ef44441f;color:#ef4444}.grocery-ghost-btn:hover{background-color:#0000000d}.cook-page--dark .grocery-ghost-btn:hover{background-color:#ffffff14}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;line-height:1.5}body{font-family:Inconsolata,Fira Code,Monaco,Consolas,Courier New,monospace;background-color:#0a0a0a;color:#f9f9f9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}[data-theme=dark]{--bg: #0a0a0a;--fg: #f9f9f9;--primary: #a855f7}[data-theme=light]{--bg: #ffffff;--fg: #171717;--primary: #a855f7}[data-theme=terminal]{--bg: #000000;--fg: #4ade80;--primary: #22c55e}#root{min-height:100vh;background-color:var(--bg, #0a0a0a);color:var(--fg, #f9f9f9)}button{background:none;border:none;padding:0;margin:0;font:inherit;cursor:pointer;outline:none}input{background:none;border:none;padding:0;margin:0;font:inherit;outline:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}:focus-visible{outline:2px solid var(--primary, #a855f7);outline-offset:2px}::-moz-selection{background:var(--primary, #a855f7);color:var(--bg, #0a0a0a)}::selection{background:var(--primary, #a855f7);color:var(--bg, #0a0a0a)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#262626}::-webkit-scrollbar-thumb{background:#525252;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#737373}*{scrollbar-width:thin;scrollbar-color:#525252 #262626}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{transition:background-color .2s ease,color .2s ease,border-color .2s ease}.ascii-border{border:1px solid currentColor;position:relative}.ascii-border:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;background:linear-gradient(45deg,transparent,currentColor,transparent);opacity:.1;z-index:-1}.rich-text-content p{margin-bottom:.75em}.rich-text-content p:last-child{margin-bottom:0}.rich-text-content blockquote{border-left:3px solid var(--primary, #a855f7);padding-left:12px;color:#a3a3a3;margin:.75em 0}.rich-text-content a{color:var(--primary, #a855f7);text-decoration:underline}.rich-text-content strong{color:#fff;font-weight:600}.rich-text-content ul,.rich-text-content ol{padding-left:1.25em;margin:.5em 0;list-style:revert}.rich-text-content li{margin-bottom:.25em}
