*{box-sizing:border-box}html{font-size:min(4vw,3vh);font-family:Roboto,sans-serif;color:#336}h2{font-size:1.3em}input{font-size:1.1rem}textarea{font-size:1rem;font-family:Roboto,sans-serif}input,textarea{padding:2px 4px}button{cursor:pointer;font-size:1rem;border:none;margin:0;width:auto;overflow:visible;outline:none;background:transparent;color:inherit;font:inherit;line-height:normal;-webkit-font-smoothing:inherit;-moz-osx-font-smoothing:inherit;-webkit-appearance:none;background-color:#35b2dc;color:#fff;padding:.3em 2em;max-height:2em}button:hover{text-decoration:none}button:disabled{color:#fff8}button.delete:not(:disabled){background:red}button.complete:not(:disabled){background:green}button.share:not(:disabled){background:#35b2dc}body{margin:0;padding:0}#root{height:100vh;display:flex;flex-direction:column}#root header{position:fixed;z-index:2;width:100%;display:flex;padding:0 1em;background:#35b2dc;color:#fff;height:2.5em}#root header>*{margin-top:.2rem}#root header .top-nav{flex:none;display:flex;align-items:baseline;gap:1.2em;margin:.3em 0 .4em;font-size:1.2em}#root header .top-nav a{color:#fff;text-decoration:none;opacity:.9}#root header .top-nav a.active{opacity:1;font-weight:600;border-bottom:2px solid white}#root header .logged-in-info{font-size:.5rem;position:relative;display:flex;align-items:center;gap:.5em;flex:1;min-width:0;justify-content:flex-end}#root header .logged-in-info *{vertical-align:top}#root header .logged-in-info .user-button{display:flex;align-items:center;gap:.6em;background:none;border:none;padding:.4em .9em;color:#fff;cursor:pointer;font-size:1.6em;box-shadow:none;min-width:0}#root header .logged-in-info .user-button .email{margin-right:auto;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;min-width:0;max-width:12em}#root header .logged-in-info .user-button .user-icon{flex:none;width:1.4em;height:1.4em}#root header .logged-in-info .user-menu{position:absolute;top:100%;left:0;right:0;z-index:3;background:#fff;color:#336;border-radius:0 0 4px 4px;padding:.4em 0;font-size:1.6em}#root header .logged-in-info .user-menu .user-identity{display:flex;flex-direction:column;padding:.5em .9em;border-bottom:1px solid rgba(0,0,0,.08);gap:8px}#root header .logged-in-info .user-menu .user-identity .name{font-weight:600}#root header .logged-in-info .user-menu .user-identity .email{opacity:.7;font-size:.85em;word-break:break-all}#root header .logged-in-info .user-menu .sync-status,#root header .logged-in-info .user-menu .logout{display:flex;align-items:center;gap:.6em;padding:.5em .9em}#root header .logged-in-info .user-menu .sync-status .symbol{flex:none;width:1.4em;height:1.4em;margin:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}#root header .logged-in-info .user-menu .sync-status.up-to-date .symbol,#root header .logged-in-info .user-menu .sync-status.offline .symbol,#root header .logged-in-info .user-menu .sync-status.sync-pending .symbol{font-size:1em}#root header .logged-in-info .user-menu .sync-status .status-text{white-space:nowrap}#root header .logged-in-info .user-menu .logout{color:#336;text-decoration:none;white-space:nowrap}#root header .logged-in-info .user-menu .logout .logout-icon{flex:none;width:1.4em;height:1.4em}#root header .logged-in-info .user-menu .logout:hover{background:#0000000d}#root header .logged-in-info .sync-status{display:inline-flex;align-items:center;gap:.4em}#root header .logged-in-info .sync-status .symbol{margin-left:.5em;transition:all .5s;cursor:pointer;font-size:2.5em}#root header .logged-in-info .sync-status.up-to-date .symbol{color:#4aea4a;font-size:1em}#root header .logged-in-info .sync-status.offline .symbol,#root header .logged-in-info .sync-status.sync-pending .symbol{color:#ed4444}.dropshadow,#login .signin,.popup .popup-content,button,#root header,#root header .logged-in-info .user-menu{box-shadow:3px 3px 15px #00000029}.dropshadow-shallow,#login .google-login,#shopping .shopping-list>.suggestions>a{box-shadow:2px 2px 5px #00000029}.textshadow,#root header .logged-in-info .sync-status.offline .symbol,#root header .logged-in-info .sync-status.sync-pending .symbol{text-shadow:-1px 2px 6px rgba(0,0,0,.3)}a{color:#35b2dc;cursor:pointer}#shopping{margin-top:2.5em;flex-grow:1;display:flex;flex-direction:column;justify-content:flex-start;margin-bottom:1em}#shopping .lists{padding:0 1em}#shopping.shopping .shopping-list:not(.shopping){max-height:0;opacity:0;border:none;padding:0;pointer-events:none}#shopping .editable-row-with-buttons,#shopping .shopping-list .item,#shopping .shopping-list h2{display:flex}#shopping .editable-row-with-buttons .name,#shopping .shopping-list .item .name,#shopping .shopping-list h2 .name{width:100%}#shopping .editable-row-with-buttons .name:not([contenteditable=true]),#shopping .shopping-list .item .name:not([contenteditable=true]),#shopping .shopping-list h2 .name:not([contenteditable=true]){cursor:pointer}#shopping .editable-row-with-buttons .controls,#shopping .shopping-list .item .controls,#shopping .shopping-list h2 .controls{display:flex;font-size:.7em;margin-left:1em}#shopping .editable-row-with-buttons .controls button,#shopping .shopping-list .item .controls button,#shopping .shopping-list h2 .controls button{margin-right:.5em;padding:.3em 1em}#shopping .editable-row-with-buttons .name[contenteditable=true],#shopping .shopping-list .item .name[contenteditable=true],#shopping .shopping-list h2 .name[contenteditable=true]{padding:0 .1em}#shopping .shopping-list{transition:max-height .5s,opacity .5s;max-height:100rem}#shopping .shopping-list h2{align-items:baseline}#shopping .shopping-list h2>span:first-child{flex-grow:1}#shopping .shopping-list .list-settings{display:flex;flex-direction:column}#shopping .shopping-list .list-settings h2{margin-top:0;margin-bottom:.5em}#shopping .shopping-list .list-settings .list-name{min-width:15em}#shopping .shopping-list .list-settings .options{display:flex;flex-direction:column;gap:.5em;margin:.5em 0 1em}#shopping .shopping-list.shopping .item{font-size:1.5em}#shopping .shopping-list .category:not(:first-of-type){margin-top:.5em}#shopping .shopping-list .department{margin-bottom:.5em;font-size:.6em;border-bottom:1px solid #cccccc}#shopping .shopping-list .item{margin-bottom:.2em;transition:font-size .2s}#shopping .shopping-list .item .checkbox{margin-right:.4em}#shopping .shopping-list .item .name{text-transform:none}#shopping .shopping-list .item .name:not([contenteditable=true]):first-letter{text-transform:uppercase}#shopping .shopping-list .item .name[contenteditable=true]{font-size:1.5em;white-space:nowrap;overflow-x:auto}#shopping .shopping-list .item .controls button{max-height:none}#shopping .shopping-list .item .location{font-size:.6em;white-space:nowrap;opacity:.8}#shopping .shopping-list .item.checked .name{text-decoration:line-through;opacity:.5}#shopping .shopping-list>.placeholder{display:flex;margin-top:.5em}#shopping .shopping-list>.placeholder .input-area{width:100%;display:inline-block;position:relative}#shopping .shopping-list>.placeholder .input-area input{width:100%}#shopping .shopping-list>.placeholder .input-area input::placeholder{font-size:.8em}#shopping .shopping-list>.placeholder .input-area .autocomplete{text-transform:capitalize;z-index:1;position:absolute;top:3rem;left:0;width:100%;box-sizing:border-box;background:#fff;padding:2px 1em 2px 2px;border-bottom:1px solid #888888;border-left:1px solid #888888;border-right:1px solid #888888}#shopping .shopping-list>.placeholder .input-area .autocomplete .item{cursor:pointer}#shopping .shopping-list>.placeholder button{margin-left:.3em}#shopping .shopping-list>.placeholder.editing{font-size:1.5rem}#shopping .shopping-list>.placeholder.editing input{height:3rem;font-size:1.5rem}#shopping .shopping-list>.suggestions{margin-top:.5em}#shopping .shopping-list>.suggestions>a{text-transform:capitalize;background-color:#35b2dc;color:#fff;font-size:.8em;margin-left:.3em;padding:.1em .5em;border-radius:1em;display:inline-block;margin-bottom:.3em}#shopping .shopping-list>.suggestions>a:first-of-type{margin-left:.6em}#shopping .shopping-list>.suggestions>a .icon,#shopping .shopping-list>.suggestions>a .checkbox{vertical-align:text-top;display:inline-block;margin-left:.2em;font-size:1.2em}#shopping .shopping-list>.suggestions.empty{display:none}#shopping .shopping-list:not(:last-of-type){padding-bottom:1em;border-bottom:1px solid #789eab}#shopping .shopping-list.collapsed h2{margin-bottom:0}#shopping .shopping-list.collapsed:not(:last-of-type){padding-bottom:0;border-bottom:none}#bottom-bar{width:100%;padding-top:1.5em;padding-left:1em;padding-bottom:.5em}#bottom-bar>button{background:none;color:#35b2dc;font-size:1em;padding:0;box-shadow:none}#bottom-bar>button>.icon,#bottom-bar>button>.checkbox{margin-right:.2em}.icon,.checkbox{display:inline-block;width:1em;min-width:1em;height:1em;background-size:contain;background-repeat:no-repeat}.icon.delete,.delete.checkbox{background-image:url("data:image/svg+xml,%3csvg%20width='15'%20height='15'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2015%2015'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M11.7816%204.03157C12.0061%203.80702%2012.0061%203.44295%2011.7816%203.2184C11.557%202.99385%2011.193%202.99385%2010.9684%203.2184L7.49999%206.68682L4.03157%203.2184C3.80702%202.99385%203.44295%202.99385%203.2184%203.2184C2.99385%203.44295%202.99385%203.80702%203.2184%204.03157L6.68682%207.49999L3.2184%2010.9684C2.99385%2011.193%202.99385%2011.557%203.2184%2011.7816C3.44295%2012.0061%203.80702%2012.0061%204.03157%2011.7816L7.49999%208.31316L10.9684%2011.7816C11.193%2012.0061%2011.557%2012.0061%2011.7816%2011.7816C12.0061%2011.557%2012.0061%2011.193%2011.7816%2010.9684L8.31316%207.49999L11.7816%204.03157Z'%20fill='white'%20/%3e%3c/svg%3e");cursor:pointer}.icon.share,.share.checkbox{background-image:url("data:image/svg+xml,%3csvg%20viewBox='0%200%2044%2044'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cg%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3cg%20transform='translate(-54.000000,%20-393.000000)'%20fill='%23FFFFFF'%3e%3cpath%20d='M61.855,422.51%20C63.681,422.51%2065.363,421.885%2066.697,420.838%20L81.603,428.197%20C81.603,428.227%2081.601,428.254%2081.601,428.283%20C81.601,432.621%2085.119,436.139%2089.457,436.139%20C93.794,436.139%2097.312,432.621%2097.312,428.283%20C97.312,423.946%2093.794,420.428%2089.457,420.428%20C87.148,420.428%2085.074,421.422%2083.638,423.006%20L69.582,416.067%20C69.664,415.61%2069.71,415.139%2069.71,414.656%20C69.71,414.559%2069.707,414.463%2069.703,414.367%20L84.244,406.731%20C85.632,407.961%2087.457,408.711%2089.457,408.711%20C93.796,408.711%2097.312,405.194%2097.312,400.856%20C97.312,396.516%2093.794,393%2089.457,393%20C85.119,393%2081.601,396.516%2081.601,400.856%20C81.601,401.18%2081.625,401.498%2081.662,401.811%20L67.533,409.231%20C66.103,407.735%2064.089,406.801%2061.855,406.801%20C57.517,406.801%2054,410.319%2054,414.656%20C54,418.994%2057.517,422.51%2061.855,422.51'%20id='Share'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e")}button .icon.delete,button .delete.checkbox,button .icon.share,button .share.checkbox{margin-right:.4em;vertical-align:-.12em;cursor:pointer}.icon.add,.add.checkbox{vertical-align:top;margin-right:.4em;margin-top:.05em;background-image:url("data:image/svg+xml,%3csvg%20width='15'%20height='15'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2015%2015'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.49991%200.876892C3.84222%200.876892%200.877075%203.84204%200.877075%207.49972C0.877075%2011.1574%203.84222%2014.1226%207.49991%2014.1226C11.1576%2014.1226%2014.1227%2011.1574%2014.1227%207.49972C14.1227%203.84204%2011.1576%200.876892%207.49991%200.876892ZM1.82707%207.49972C1.82707%204.36671%204.36689%201.82689%207.49991%201.82689C10.6329%201.82689%2013.1727%204.36671%2013.1727%207.49972C13.1727%2010.6327%2010.6329%2013.1726%207.49991%2013.1726C4.36689%2013.1726%201.82707%2010.6327%201.82707%207.49972ZM7.50003%204C7.77617%204%208.00003%204.22386%208.00003%204.5V7H10.5C10.7762%207%2011%207.22386%2011%207.5C11%207.77614%2010.7762%208%2010.5%208H8.00003V10.5C8.00003%2010.7761%207.77617%2011%207.50003%2011C7.22389%2011%207.00003%2010.7761%207.00003%2010.5V8H4.50003C4.22389%208%204.00003%207.77614%204.00003%207.5C4.00003%207.22386%204.22389%207%204.50003%207H7.00003V4.5C7.00003%204.22386%207.22389%204%207.50003%204Z'%20fill='%2335b2dc'%20/%3e%3c/svg%3e")}.icon.shopping,.shopping.checkbox{vertical-align:top;margin-right:.4em;margin-top:.05em;background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='24'%20viewBox='0%200%2024%2024'%20width='24'%3e%3cpath%20fill='none'%20d='M0%200h24v24H0z'/%3e%3cpath%20fill='%2335b2dc'%20d='M7%2018c-1.1%200-1.99.9-1.99%202S5.9%2022%207%2022s2-.9%202-2-.9-2-2-2zM1%202v2h2l3.6%207.59-1.35%202.45c-.16.28-.25.61-.25.96%200%201.1.9%202%202%202h12v-2H7.42c-.14%200-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75%200%201.41-.41%201.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48%200-.55-.45-1-1-1H5.21l-.94-2H1zm16%2016c-1.1%200-1.99.9-1.99%202s.89%202%201.99%202%202-.9%202-2-.9-2-2-2z'/%3e%3c/svg%3e")}.collapse-toggle{display:inline-block;margin-left:.1em;padding:.55em;opacity:.55;cursor:pointer;vertical-align:middle;transition:opacity .2s}@media (pointer: coarse){.collapse-toggle{padding:.85em}}.collapse-toggle:before{content:"";display:block;width:0;height:0;border-left:.24em solid transparent;border-right:.24em solid transparent;border-top:.3em solid currentColor;transition:transform .2s}.collapse-toggle.collapsed:before{transform:rotate(-90deg)}.collapse-toggle:hover{opacity:1}.checkbox{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABmJLR0QA/wD/AP+gvaeTAAADCElEQVR4nO2dzWpTQRiGn7g1uBZ/E13UlVS7rA16A1ZaBelNqPWiNK0I3kKrrlTc1LoSwZ+qdWUVLAhxMaDJnIRMTibNy+n7wCxmcb6ZeZ/2nOQs8oExxhhjjDHGHCy1THUuA4tACzgOnAaOZqqtyi/gA7ADbAJPgFfT3FANuAm8BToedIBtYJl8f+jJNIHnY2y86uMZ0Cgb7qjMA18neJiqjO/AtZIZJ9MC9vss/ht4ANwGZqj+8wPCGWcIZ35I/1z2gYVJbaAJ7PZZtM0B/nsK0wTWKObzjQnkU6P4zPgD3Mm9UAW4S8imO6unuRe5RdG8ZQxmlWJeS7mK1yh+tG3nKl5h1unN7E2uwnMUH1TnchWvMA3Ch53u7GaHXXQkofD1aP4YeDfi5g4j7wnf3rtZHHZRipBWNI8XMYOJs4qzLJAi5GQ0f5G8HfMymsdZlmKP3vtgPUfRQ0Kd3uz2hl2Q8hKsU+Ia85+R8ku5ZZkDxELEsBAxLEQMCxHDQsSwEDEsRAwLEcNCxLAQMSxEDAsRw0LEsBAxLEQMCxHDQsSwEDEsRAwLEcNCxLAQMSxEDAsRw0LEsBAxLEQMCxHDQsSwEDEsRAwLEcNCxLAQMSxEDAsRw0LEsBAxLEQMCxHDQsSwEDEsRAwLEcNCxLAQMSxEDAsRw0LEsBAxLEQMCxHDQsSwEDFShMQ//usfUk7nWDT/MeyCFCE70fxE8nZMnNXnYRekCPkUzeeSt2PirLII2YzmQ1sumH/ErT42chS9RLGhy/kchStOk2JDl4s5CtcIHSy7C6/lKFxxHtGb2VbO4stR8Q6hG5npz32KeWW91dcI7UTjtnn3ci5SEVYpts3L8uyIaRCaJMbm13GTMAgZxLepDqFN7dlJLbrA4BajbWAFuMDh+PJYJ5x1hXD2QS1pr0x6I/PAlz6Le/SOXeBquYhHp0FoJzrtQ6uODeBM2XDHYYnQwXLaAaiMLeDGOIHmavA1S/hY1yK8vzlF9Z8jP4GPhNchG4Seha+nuiNjjDHGGGOMKcFf4U9RFJmlzfcAAAAASUVORK5CYII=);cursor:pointer;width:initial;min-width:1em;padding-left:1.5em;color:#336}.checkbox.checked{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABmJLR0QA/wD/AP+gvaeTAAAFa0lEQVR4nO2dSYgdRRjHfy/RxGU0ikYlJmYmKhMvmkUvxgyKBz2IkUwEDd5U1IvGBNxA8OBBvQheBDdEhDhJECMBEURhooKQRQ+JwQ23JGZxy6JOzMzz8EWmX1W9dL3u6u56/b4f1KGZ6W/7Z7q6KlXVoCiKoiiKoiiKUi6NQHYWAcuAIeAiYA5wZiDbsXIU+AnYC2wGNgLbqgyoAawAdgFNbTSBL4Fhwv1D92YA+DRH4HVvnwD9WYvbKUuAfQUmU5d2ELghY429GQLGHM7/AdYCdwCD1L//AMlxEMn5Ldx1GQOWFhXAAHDA4XSEEv88I2YAWIddn/0UUJ8Gdp9xHHgotKMasAqpTbJWH4d2cju28ipGe1Zj12t5KOMN7FfbkVDGa8x6Wmu2M5Thxdgd1bxQxmtMP/Kyk6zdgrSbpngYvtW4fhv4rsPgepHvkdF7kmVpN/kIMmRcm06U9pi1Mmtp4SPIxcb1Fu9wlK3GtVnLTBym9TnYF8Joj9BHa+0Op93gMwnWzHCPMklH9fN5ZCklooJEhgoSGSpIZKggkaGCRIYKEhkqSGSoIOnMqToAE/M/WnqJIWQK/akcNoLXr1cFGQR+YzLv14BpGeyoIAE4D/ia1rzHgRsz2FJBcnIq8CF23o9ltKeC5OQl7Jxfz2FPBcnBE9j5jgLTc9hUQTIyjPQTyVy/BWbmtKuCZGARcITWPH9F3rTyooJ0yCxkn0cyx2Nke6NyoYJ0QB/wOXaO9wX0oYJ4MgV4Bzu/ZwP7UUE8eR47t03A1MB+VBAP7sbOaxvF7GtRQVK4HntzzW5gdkH+VJCTMB/4ndZ8/gKuKdBnVwhSxWK7mchAL5nLOB4LoHMSvSAXAJ8hm0fLYhrwEXYua0rwHbUgM4DtJ+wcBW7Oac+HBvAGdh6vluAbh99oDE7H3qc4hmyXK5InsXP4AJlmL4NoBQF41GHvOHBvTrvtWAFMGP52AecW5M9F1IIAPIA9qzoBPBLAdpKrkcdi0s9B4PLAftKIXhCAlcgEnmn7mUD25wK/GLaPUcLJCg66QhCAW5AxgGn/RfItTzoL+MJht6jHYhpdIwjIMps/HT7Wkq3TnQq867D3dIhgM9JVgoBsu97v8LMJOL1DWy847Gyg2gWBXScIyJTGjw5fo8jYxYd7HPdvAc4IHWyHdKUgIB3xVw5/W5HR/cm4CfjXuO9nAu16zUnXCgJwIZMjeXPs0G6N7RXYE4aHgKsKjtWXrhYE4Bzk9BzT7w/Yiw7OB74xfm8c+/SJKul6QUCe++85fO8DFp74ndNwHzP4YEkx+lILQUBmaEcc/v9ATml70/Gzl0uMz5faCAIyrnjFEYN5QFgTeB84peT4fKiVICDT58854ki2nUjfEyO1E+R/XDPFTeQcyMsqjCuN2goCcD+tM8V/A9dWGlE6tRYE4E5k5nYCuKviWHyovSAgM8WPVx2EJx3VT49nKp6O6qfboiNDBYkMFSQyVJDIUEEiQwWJDBUkMlSQyPARxDz8Vw9S9uds4/pQ2g0+guw1rmd5h6OYtdqTdoOPILuN68Xe4ShmrYIIstm4LnrHUZ0wF1uMhjC6kNbZyjHg0hCGa84A9gddrgxhuIF8wTJpeF0IwzVnA6012xHS+DD2vP6qkA5qxhrsegV91DeQz4maKz8eDumkJqzGXhUTpO8w6ce9Sn09+pEwkBqYj6kmsrhvblFOl9L+E6MjyM6o+fTG4LEPyXUlknu7T9JeV3QgS7C3i2mz2wHkGI9S6Me9IFqbtFHgkqzFzcNyZNVg1QWIpe0AbstT0FArSBYgr3VDyPzNbOrfjxxBNgXtQf4iNiKn0ymKoiiKoiiKonQV/wEtd4dtiZlAxQAAAABJRU5ErkJggg==)}.popup{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:100;background:#ffffffe6;color:#336;display:flex;justify-content:center;align-items:center}.popup .popup-content{background:#fff;padding:1em;min-height:10em;display:flex;flex-direction:column;position:relative}.popup .popup-content .dialog-close{position:absolute;top:.25em;right:.25em;min-width:0;max-width:none;margin:0;padding:0;width:1.6em;height:1.6em;line-height:1;font-size:1.2em;background:transparent;color:#336;opacity:.6;cursor:pointer;box-shadow:none}.popup .popup-content .dialog-close:hover{opacity:1}.popup .popup-content input,.popup .popup-content button,.popup .popup-content textarea,.popup .popup-content p{display:block;min-width:10em;max-width:20em;margin:0 0 1em}.popup .popup-content input[type=email]{font-size:1em;min-width:15em}.popup .popup-content small{margin-top:-.5em;margin-bottom:1em;font-size:.8em;opacity:.7}.popup .popup-content .dialog-actions{display:flex;gap:1em;margin-top:1em}.popup .popup-content .dialog-actions button{margin-bottom:0;min-width:6em;display:inline-flex;align-items:center}#login{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:safe center;padding:2rem 1.2rem 1.5rem;color:#4a4a5c;background-color:#fff;background-image:repeating-linear-gradient(to bottom,transparent 0 27px,rgba(51,51,102,.055) 27px 28px)}#login .brand{flex:none;width:9.5rem;max-width:60vw;margin-bottom:.75rem}#login .tagline{margin:.4rem 0 0;font-size:.8rem;text-align:center;opacity:.68}#login .sketch{flex:none;width:18rem;max-width:88vw;margin:.3rem 0 .5rem}#login .signin{position:relative;flex:none;width:100%;max-width:20rem;background:#fff;border:1px solid rgba(51,51,102,.07);border-radius:4px;padding:1.1rem;display:flex;flex-direction:column;gap:.7rem}#login .signin input{width:100%;font-size:1rem;padding:.6em .7em;border:1px solid #cfcfdd;border-radius:3px}#login .signin>button{width:100%;max-height:none;padding:.6em 1.2em;border-radius:3px}#login .signin p{margin:0;font-size:.85rem}#login .signin small{margin:-.3rem 0 0;font-size:.75rem;opacity:.7}#login .signin .code-status{font-size:.85rem;min-height:1.2em}#login .signin .start-over{font-size:.8rem;opacity:.7;text-decoration:none;cursor:pointer}#login .login-divider{display:flex;align-items:center;gap:.75em;opacity:.45;font-size:.8rem}#login .login-divider:before,#login .login-divider:after{content:"";flex:1;height:1px;background:currentColor}#login .google-login{display:flex;align-items:center;justify-content:center;gap:.6em;padding:.6em 1em;border-radius:3px;background-color:#fff;color:#3c4043;text-decoration:none;font-size:.95rem;box-shadow:none;border:1px solid #eee;cursor:pointer}#login .google-login:hover{background-color:#f7f8f8}#login .google-login .google-icon{flex:none}@media (max-height: 600px){#login .tagline{display:none}#login .sketch{width:13rem;margin:.2rem 0 -.4rem}}#recipes{margin-top:2.5em;flex-grow:1;display:flex;flex-direction:column;justify-content:flex-start;margin-bottom:1em}#recipes .books{padding:0 1em}#recipes .recipe-book{padding-bottom:.5em}#recipes .recipe-book:not(:last-of-type){border-bottom:1px solid #789eab;margin-bottom:1em}#recipes .recipe-book.collapsed{padding-bottom:0}#recipes .recipe-book.collapsed:not(:last-of-type){border-bottom:none;margin-bottom:0}#recipes .recipe-book.collapsed h2{margin-bottom:0}#recipes .recipe-book h2{display:flex;align-items:baseline}#recipes .recipe-book h2>span:first-child{flex-grow:1}#recipes .recipe-book h2 .name{cursor:pointer}#recipes .book{padding:0 1em}#recipes .recipes-view>h2,#recipes .recipe-view>h2,#recipes .recipe-edit>h2,#recipes .add-ingredients>h2{display:flex;align-items:baseline}#recipes .recipes-view>h2>.name,#recipes .recipe-view>h2>.name,#recipes .recipe-edit>h2>.name,#recipes .add-ingredients>h2>.name{flex:1}#recipes .recipes-view>h2>.controls,#recipes .recipe-view>h2>.controls,#recipes .recipe-edit>h2>.controls,#recipes .add-ingredients>h2>.controls{display:flex;align-items:baseline}#recipes .recipes-view>h2>.controls a,#recipes .recipe-view>h2>.controls a,#recipes .recipe-edit>h2>.controls a,#recipes .add-ingredients>h2>.controls a{margin-left:.8em;font-size:.9rem;white-space:nowrap}#recipes .recipes-view>h2>.controls button,#recipes .recipe-view>h2>.controls button,#recipes .recipe-edit>h2>.controls button,#recipes .add-ingredients>h2>.controls button{margin-left:.5em;padding:.3em 1em;font-size:.7em}#recipes a.source-link{text-decoration:none}#recipes .recipes-view .empty,#recipes .recipe-book .empty{opacity:.6;font-size:.9em}#recipes .recipes-view .recipe-row,#recipes .recipe-book .recipe-row{display:flex;align-items:baseline;gap:.5em;padding:.4em 0;cursor:pointer}#recipes .recipes-view .recipe-row .name,#recipes .recipe-book .recipe-row .name{flex:1;font-size:1.1em}#recipes .recipes-view .recipe-row a.source-link,#recipes .recipe-book .recipe-row a.source-link{flex:0 1 auto;max-width:33vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75em;opacity:.7}#recipes .recipes-view a.add-recipe,#recipes .recipe-book a.add-recipe{display:inline-block;margin-top:.8em}#recipes .recipe-view h2>.name .source-url{font-size:.7rem;margin-left:.5em}#recipes .recipe-view h3.section{display:flex;align-items:baseline;margin:1em 0 .3em;font-size:1.3em}#recipes .recipe-view h3.section .title{flex:1}#recipes .recipe-view h3.section a.add-to-list{font-size:.9rem;font-weight:400;white-space:nowrap}#recipes .recipe-view .portions{margin:0 0 .5em;opacity:.7;font-size:.95em}#recipes .recipe-view .portions .count{font-weight:600}#recipes .recipe-view .portions a.less,#recipes .recipe-view .portions a.more{padding:0 .5em;cursor:pointer;-webkit-user-select:none;user-select:none}#recipes .recipe-view .portions a.less{margin-left:-.5em}#recipes .recipe-view ul.ingredients{list-style:none;margin:0 0 1em;padding:0;font-size:1.15em;line-height:1.5}#recipes .recipe-view ul.ingredients .ingredient{display:flex;gap:.5em}#recipes .recipe-view ul.ingredients .ingredient .amount{flex:0 0 4.5em;text-align:right;opacity:.75}#recipes .recipe-view .recipe-content{font-size:1.2em;line-height:1.55}#recipes .recipe-view .recipe-content>:first-child{margin-top:0}#recipes .recipe-view .recipe-content>:last-child{margin-bottom:0}#recipes .recipe-view .recipe-content p{margin:0 0 .7em}#recipes .recipe-view .recipe-content ol,#recipes .recipe-view .recipe-content ul{margin:0 0 .7em;padding-left:1.4em}#recipes .recipe-view .recipe-content ol li,#recipes .recipe-view .recipe-content ul li{margin-bottom:.5em}#recipes .recipe-view .recipe-content ol li::marker,#recipes .recipe-view .recipe-content ul li::marker{color:#35b2dc;font-weight:700}#recipes .recipe-view .recipe-content h1,#recipes .recipe-view .recipe-content h2,#recipes .recipe-view .recipe-content h3,#recipes .recipe-view .recipe-content h4,#recipes .recipe-view .recipe-content h5,#recipes .recipe-view .recipe-content h6{margin:1em 0 .3em;font-size:1em}#recipes .recipe-view .recipe-content strong{font-weight:600}#recipes .recipe-view .recipe-content code{font-family:inherit}#recipes .recipe-view .recipe-content blockquote{margin:0 0 .7em;padding-left:.7em;border-left:3px solid #eef2f4;opacity:.8}#recipes .recipe-view .recipe-content hr{border:none;border-top:1px solid #eef2f4;margin:1em 0}#recipes .recipe-view .recipe-content .ingredient-ref-wrap{position:relative}#recipes .recipe-view .recipe-content a.ingredient-ref{border-bottom:1px dotted #35b2dc;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none}#recipes .recipe-view .recipe-content a.ingredient-ref.open{background:#eaf7fc}#recipes .recipe-view .recipe-content .ingredient-popover{position:absolute;left:50%;bottom:calc(100% + .4em);transform:translate(-50%);z-index:2;display:flex;flex-direction:column;white-space:nowrap;padding:.35em .6em;border-radius:.5em;background:#fff;box-shadow:0 2px 10px #0000002e;font-size:.85em;line-height:1.3}#recipes .recipe-view .recipe-content .ingredient-popover .amount{font-weight:600}#recipes .recipe-view .recipe-content .ingredient-popover .name{opacity:.7}#recipes .recipe-edit h3{margin:1em 0 .3em;font-size:1em}#recipes .recipe-edit input.recipe-name{width:100%}#recipes .recipe-edit label.portions{display:flex;align-items:baseline;gap:.5em;font-size:.9em}#recipes .recipe-edit label.portions input.recipe-portions{width:3.5em}#recipes .recipe-edit label.source-url{display:flex;align-items:baseline;gap:.5em;font-size:.9em;margin-top:.3em}#recipes .recipe-edit label.source-url input.recipe-source-url{flex:1;min-width:5em}#recipes .recipe-edit .ingredient{display:flex;align-items:center;gap:.3em;padding:.15em 0}#recipes .recipe-edit .ingredient input.quantity{width:3.2em;text-align:right}#recipes .recipe-edit .ingredient input.unit{width:3.2em}#recipes .recipe-edit .ingredient input.ingredient-name{flex:1;min-width:5em}#recipes .recipe-edit .ingredient a.remove{padding:0 .3em;cursor:pointer}#recipes .recipe-edit a.add-ingredient{display:inline-block;margin-top:.4em;font-size:.9em}#recipes .recipe-edit textarea.recipe-content,#recipes .recipe-edit textarea.recipe-source{width:100%;margin-top:.5em}#recipes .recipe-edit .error{color:#b3261e;font-size:.9em}#recipes .recipe-edit>.controls{display:flex;margin-top:.5em}#recipes .recipe-edit>.controls button{margin-right:.5em}#recipes .add-ingredients ul.ingredients{list-style:none;margin:0 0 1em;padding:0;line-height:1.5}#recipes .add-ingredients ul.ingredients .ingredient{display:flex;align-items:center;gap:.5em;padding:.15em 0}#recipes .add-ingredients ul.ingredients .ingredient input.item-name{flex:1}#recipes .add-ingredients label.target-list{display:flex;align-items:baseline;gap:.5em;font-size:.9em;margin:.5em 0 1em}#recipes .add-ingredients label.target-list select{flex:1;font-size:1rem;padding:.2em}#recipes .add-ingredients .empty{opacity:.6;font-size:.9em;margin:.5em 0 1em}#recipes .add-ingredients button.add{display:block;width:100%}
