:root{color:#0b1f2a;--item-size:120px;--keyboard-inset:0px;background:radial-gradient(circle at bottom,#e4b2d2 0%,#bde5ee 30%,#d8e8af 55%,#f6f294 75%,#005382 100%);min-height:100svh;font-family:Inter,system-ui,-apple-system,sans-serif}@media (width>=421px){:root{--item-size:125px}}*{box-sizing:border-box;-webkit-user-select:none;user-select:none}html{width:100%;overflow:hidden}body{-webkit-overflow-scrolling:touch;width:100%;height:100svh;margin:0;position:fixed;overflow-y:scroll}@media (hover:hover) and (pointer:fine){button,[role=button],a[href],input[type=button],input[type=submit],input[type=reset],summary,.modal-backdrop,.drawer-backdrop{cursor:pointer}}.app{flex-direction:column;min-height:100%;padding:24px 18px 96px;display:flex}.pull-refresh-indicator{z-index:65;pointer-events:none;background:#ece6f2;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .12s ease-out;display:flex;position:fixed;top:0;left:50%;box-shadow:0 3px 10px #2c184f40}.pull-refresh-indicator__ring{border:3px solid #6c52a840;border-top-color:#6b52a8;border-radius:999px;width:26px;height:26px}.pull-refresh-indicator--active .pull-refresh-indicator__ring{animation:.8s linear infinite spin}.app__header{color:#f3f8f6;flex-direction:column;gap:16px;display:flex}.ghost-button{color:#f3f8f6;background:0 0;border:1px solid #ffffffb3;border-radius:999px;padding:6px 12px;font-size:14px}.title-row{justify-content:space-between;align-items:center;display:flex}.title-button{color:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;max-width:100%;margin:0;padding:0;font-size:30px;font-weight:500;overflow:hidden}.title-edit{width:100%;min-width:0;display:flex}.title-edit input{color:#f3f8f6;background:#04223147;border:1px solid #ffffff8c;border-radius:14px;outline:none;width:100%;min-width:0;padding:8px 12px;font-size:16px}.title-edit input::placeholder{color:#f3f8f6bf}.title-edit input:focus{border-color:#fffffff2;box-shadow:0 0 0 2px #fff3}.header-actions{align-items:center;gap:8px;display:inline-flex}.connection-indicator{border-radius:999px;width:10px;height:10px;display:inline-block;box-shadow:0 0 0 1px #ffffffb3}.connection-indicator--online{background:#66f57f}.connection-indicator--offline{background:#ff847f}.connection-indicator--unknown{background:#ffd980}.backend-log-panel{color:#f3f8f6;z-index:55;background:#0b1f2ae6;border-radius:12px;width:min(460px,100% - 24px);max-height:220px;padding:10px;position:fixed;bottom:72px;right:12px;overflow:hidden}.backend-log-panel__title{opacity:.85;margin:0 0 8px;font-size:13px}.backend-log-panel__list{flex-direction:column;gap:6px;max-height:170px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.backend-log-panel__entry{background:#ffffff14;border-radius:8px;padding:6px 8px;font-size:12px;line-height:1.3}.backend-log-panel__entry--success{border-left:3px solid #66f57f}.backend-log-panel__entry--error{border-left:3px solid #ff847f}.backend-log-panel__entry--skipped{border-left:3px solid #ffd980}.sync-toast{color:#f3f8f6;z-index:60;background:#0b1f2af2;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;width:min(520px,100% - 24px);padding:10px 12px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.sync-toast__close{color:#f3f8f6;background:#fff3;border:none;border-radius:999px;padding:4px 10px}.bottom-icon svg,.fab svg,.drawer__item-icon svg,.drawer__delete svg,.drawer__settings svg{width:22px;height:22px}.add-panel{width:100%}.list-grid{grid-template-columns:repeat(auto-fill, minmax(var(--item-size), var(--item-size)));justify-content:center;gap:6px;margin-top:16px;display:grid}.item-card{height:var(--item-size);width:var(--item-size);color:#f3f8f6;text-align:center;transform-origin:50%;-webkit-user-select:none;user-select:none;background:#02446194;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:4px 4px 2px;transition:transform .11s;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14}.item-card--pressing{transform:scale(.96)}.item-card>*{pointer-events:none}.item-card--exit{pointer-events:none;animation:.22s ease-in forwards item-poof}.item-icon{flex-grow:1;flex-shrink:1;justify-content:center;align-self:center;width:64px;height:64px;display:flex}.item-icon img{object-fit:contain;filter:brightness(0)invert();align-self:center;width:64px;height:64px}.item-text{flex-direction:column;flex-grow:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;overflow:hidden}.item-name{-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;max-width:100%;font-size:15px;font-weight:500;line-height:1.2;display:-webkit-box;overflow:hidden}.item-quantity{opacity:.8;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding-top:2px;font-size:13px;line-height:1.2;overflow:hidden}@keyframes item-pop{0%{opacity:0;transform:scale(.85)rotate(-2deg)}60%{opacity:1;transform:scale(1.06)rotate(1.5deg)}to{transform:scale(1)rotate(0)}}@keyframes item-poof{0%{opacity:1;transform:scale(1)rotate(0)}to{opacity:0;transform:scale(.6)rotate(8deg)}}@keyframes item-pop-dialog{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.item-card,.item-card--exit{animation:none}}.undo-toast-stack{z-index:40;pointer-events:none;flex-direction:column;gap:8px;width:min(420px,100% - 24px);display:flex;position:fixed;bottom:68px;left:50%;transform:translate(-50%)}.undo-toast{color:#f3f8f6;pointer-events:auto;background:#0b1f2af2;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex;box-shadow:0 10px 24px #00000040}.undo-toast__text{overflow-wrap:anywhere;word-break:break-word;flex:1;min-width:0}.undo-toast__action{color:#f3f8f6;background:#ffffff2e;border:none;border-radius:999px;flex-shrink:0;padding:6px 12px;font-weight:600}.bottom-bar{z-index:10;background:radial-gradient(circle at 50% 2px,#0000 33px,#005382 34px);justify-content:space-between;align-items:center;gap:16px;height:56px;padding:6px 18px 10px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:visible}.fab{color:#fff;background:#005382;border:4px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin-top:0;font-size:28px;display:inline-flex;position:absolute;left:50%;transform:translate(-50%,-24px);box-shadow:0 10px 18px #0003}.bottom-icon{color:#f3f8f6;background:0 0;border:none;border-radius:20px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:inline-flex}.modal-backdrop{padding:24px 20px calc(80px + env(safe-area-inset-bottom) + var(--keyboard-inset));z-index:20;background:#05121c99;justify-content:center;align-items:center;transition:padding-bottom .22s;display:flex;position:fixed;inset:0}.modal{width:min(520px,100%);max-height:calc(100svh - 48px - var(--keyboard-inset));background:#f7f1f5;border-radius:28px;flex-direction:column;gap:18px;padding:28px 26px 24px;transition:max-height .22s;display:flex;overflow-y:auto;box-shadow:0 24px 48px #00000040}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal{transition:none}}.modal__header{justify-content:space-between;align-items:center;display:flex}.modal__header h2{color:#2f2433;margin:0;font-size:24px;font-weight:500}.modal__body{flex-direction:column;gap:18px;display:flex}.modal__field{flex-direction:column;gap:6px;display:flex}.modal__field label{color:#6f6a77;font-size:13px}.modal__body input{color:#2f2433;background:0 0;border:none;border-bottom:1px solid #2f243366;outline:none;padding:6px 2px 8px;font-size:16px}.settings-language-select{color:#2f2433;appearance:none;background:0 0;border:none;border-bottom:1px solid #2f243366;outline:none;padding:6px 2px 8px;font-size:16px}.modal__actions{justify-content:space-between;gap:20px;margin-top:6px;display:flex}.primary-button{color:#f4f7f5;background:#0b3d5c;border:none;border-radius:999px;padding:8px 16px}.text-button{color:#6c4a7a;background:0 0;border:none;padding:6px 4px;font-size:16px;font-weight:500}.drawer-edge-swipe-zone{z-index:29;touch-action:none;width:28px;position:fixed;inset:0 auto 0 0}.drawer-overlay{pointer-events:none;z-index:30;opacity:0;visibility:hidden;transition:opacity .2s .3s,visibility 0s linear .5s;position:fixed;inset:0}.drawer-overlay--open{pointer-events:auto;opacity:1;visibility:visible;transition:opacity .2s,visibility linear}.drawer-backdrop{background:#00000073;position:absolute;inset:0}.drawer{touch-action:none;background:#f4eef5;flex-direction:column;width:min(320px,80vw);transition:transform .26s ease-in;display:flex;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}.drawer--open{transition-timing-function:ease-out;transform:translate(0)}.drawer--dragging{transition:none}.drawer__header{color:#fff;background:#005382 url(/icons/icon_foreground.png) 100% 100%/auto 95% no-repeat;justify-content:flex-start;align-items:flex-start;min-height:180px;padding:24px 120px 24px 18px;font-size:22px;font-weight:500;display:flex}.drawer__section{flex:1;padding:18px;overflow-y:auto}.drawer__title{color:#c26a6a;margin:0 0 12px;font-size:16px;font-weight:500}.drawer__list{flex-direction:column;gap:14px;display:flex}.drawer__item{justify-content:space-between;align-items:center;gap:12px;display:flex}.drawer__item-button{text-align:left;color:#333;background:0 0;border:none;flex:1;align-items:center;gap:12px;min-width:0;padding:4px 0;font-size:16px;display:flex}.drawer__item-button--active{font-weight:600}.drawer__item-icon{color:#898989;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.drawer__item-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drawer__delete{color:#898989;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.drawer__new{color:#333;background:0 0;border:none;align-items:center;gap:12px;padding:6px 0;font-size:16px;display:flex}.drawer__settings{color:#fff;background:#327955cf;border:none;justify-content:space-between;align-items:center;padding:14px 24px;font-size:16px;display:flex}.drawer__settings .drawer__item-icon{color:#fff}.drawer__legal-actions{background:#f4eef5;border-top:1px solid #00000014;flex-direction:row;gap:2px;padding:4px 10px;display:flex}.drawer__legal-button{color:#0b3d5ca8;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:4px;padding:3px 4px;font-size:11px;font-weight:500;display:flex}.drawer__legal-button .drawer__item-icon{width:13px;height:13px}.legal-modal__body{gap:10px}.legal-modal__content{color:#3d3240;max-height:min(62vh,520px);font-size:14px;line-height:1.45;overflow-y:auto}.legal-modal__content h1,.legal-modal__content h2,.legal-modal__content h3,.legal-modal__content h4{color:#2f2433;margin:10px 0 6px}.legal-modal__content p,.legal-modal__content ul{margin:0 0 10px}.add-dialog{align-items:flex-start;padding-top:60px}.add-dialog .modal{background:#01141dbf;border-radius:12px;width:min(460px,100%);padding:16px}.add-dialog .add-panel input{color:#fff;background:0 0;border:1px solid #fffc;border-radius:12px;width:100%;padding:10px 12px;font-size:15px}.add-dialog .add-panel input::placeholder{color:#fff}.modal__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.item-card--dialog{color:#fff;background:#d5feb563;flex:none;width:100%;min-width:0;height:clamp(112px,28vw,156px);animation:.22s ease-out item-pop-dialog}.item-card--duplicate{background:#f7ab2f73}.item-warning{text-align:center;opacity:.95;max-width:100%;font-size:11px;font-weight:600;line-height:1.2}.item-text--duplicate{justify-content:center}.add-dialog .item-icon img{filter:brightness(0)invert()}.add-dialog .item-icon,.add-dialog .item-icon img{width:clamp(42px,16vw,60px);height:clamp(42px,16vw,60px)}.add-dialog .modal__grid{max-height:420px;padding-bottom:4px;overflow-y:auto}.app{padding:16px 14px calc(104px + env(safe-area-inset-bottom))}.app__header{color:#f3f8f6;margin-bottom:8px}.header-card{border-radius:18px;gap:8px;min-width:0;padding:10px 2px;display:grid}.title-row{gap:8px;min-width:0}.title-button{min-width:0;max-width:100%;font-size:24px}.title-edit{grid-template-columns:minmax(0,1fr);align-items:center;width:100%;min-width:0;display:grid}.title-edit input{min-width:0}.header-chip-button{color:#f3f8f6;background:#04223147;border:1px solid #ffffffb3;border-radius:999px;padding:7px 10px}.header-icon-button{color:#f3f8f6;background:#04223147;border:1px solid #ffffffb3;border-radius:999px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.header-icon-button svg{width:18px;height:18px}.list-stats-modal__body{gap:14px}.list-stats-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.list-stats-modal__grid li{background:#0b3d5c14;border-radius:12px;flex-direction:column;gap:6px;padding:10px;display:flex}.list-stats-modal__grid span{color:#6f6a77;font-size:13px}.list-stats-modal__grid strong{color:#2f2433;font-size:20px}.list-stats-modal__top-items{flex-direction:column;gap:6px;margin:8px 0 0;padding-left:18px;display:flex}.list-stats-modal__top-items li{color:#3d3240;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.list-stats-modal__top-items li span{flex-direction:column;gap:2px;display:inline-flex}.list-stats-modal__avg-frequency{color:#6f6a77;font-size:12px;font-weight:500}.list-stats-modal__last-bought{color:#3d3240;margin:0}.header-status{justify-content:center;align-items:center;min-width:20px;min-height:20px;display:inline-flex}.connection-icon{width:18px;height:18px;display:inline-flex}.connection-badge{color:inherit;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.connection-badge .connection-icon{width:26px;height:26px}.connection-badge__tooltip{color:#f3f8f6;text-align:left;opacity:0;visibility:hidden;pointer-events:none;z-index:1;background:#0b1f2af2;border-radius:10px;min-width:180px;max-width:220px;padding:8px 10px;font-size:12px;line-height:1.35;transition:opacity .16s,transform .16s,visibility .16s;position:absolute;bottom:calc(100% + 8px);right:0;transform:translateY(4px)}.connection-badge__tooltip--visible{opacity:1;visibility:visible;transform:translateY(0)}@media (hover:hover) and (pointer:fine){.connection-badge:hover .connection-badge__tooltip,.connection-badge:focus-visible .connection-badge__tooltip{opacity:1;visibility:visible;transform:translateY(0)}}.connection-icon__image{width:100%;height:100%;display:block}.connection-icon--online{color:#66f57f}.connection-icon--offline{color:#f6f294}.connection-icon--unknown{color:#ffd980}.connection-spinner{border:2px solid #ffffff80;border-top-color:#f3f8f6;border-radius:999px;width:15px;height:15px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-toast-stack{left:50%;bottom:calc(126px + env(safe-area-inset-bottom));z-index:46;pointer-events:none;flex-direction:column;gap:8px;width:min(460px,100% - 24px);display:flex;position:fixed;transform:translate(-50%)}.app-toast{pointer-events:auto;color:#f3f8f6;background:#0b1f2af2;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.app-toast--error{background:#6e1621f2}.app-toast__text{overflow-wrap:anywhere;min-width:0}.app-toast__close{color:inherit;background:#ffffff2e;border:none;border-radius:999px;padding:5px 10px}.undo-toast-stack{bottom:calc(68px + env(safe-area-inset-bottom))}.bottom-bar{padding-bottom:calc(10px + env(safe-area-inset-bottom));height:calc(56px + env(safe-area-inset-bottom))}.bottom-bar__actions-right{align-items:center;gap:4px;display:inline-flex}.bottom-bar__status{min-width:24px}.drawer__header{min-height:140px}.drawer__item{align-items:flex-start}.drawer__item-button{align-items:flex-start;padding-right:6px}.drawer__item-copy{flex:1;gap:3px;min-width:0;display:grid}.drawer__item-label{white-space:nowrap}.drawer__item-meta{color:#67616b;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.3}.drawer__delete{background:#0000000d;border-radius:8px;margin-top:2px}.drawer__delete:disabled{opacity:.45}.drawer__delete--confirm{color:#a61f2d;width:auto;min-width:40px;padding:0 8px;font-size:12px;font-weight:700}.drawer__delete-hint{color:#7a667f;margin:-4px 0 0;font-size:12px}@media (width<=420px){.list-grid{grid-template-columns:repeat(3,minmax(110px,1fr));justify-content:stretch;width:100%}.list-grid .item-card{aspect-ratio:1;width:100%;min-width:110px;height:auto}.list-grid .item-icon,.list-grid .item-icon img{width:56px;height:56px}.app{padding-left:10px;padding-right:10px}.title-button{font-size:21px}.title-edit{grid-template-columns:minmax(0,1fr)}.drawer{width:min(336px,88vw)}}
