:root{color-scheme:light;--ink: #000000;--ink-muted: #3c3c43;--ink-faint: #8e8e93;--primary: #007aff;--primary-hover: #0051d5;--primary-soft: rgba(0, 122, 255, .12);--primary-glow: rgba(0, 122, 255, .32);--accent: #5ac8fa;--success: #34c759;--success-soft: rgba(52, 199, 89, .12);--warn: #ff9500;--warn-soft: rgba(255, 149, 0, .14);--danger: #ff3b30;--danger-soft: rgba(255, 59, 48, .1);--danger-on: #c41200;--surface: rgba(255, 255, 255, .82);--surface-muted: rgba(242, 242, 247, .92);--surface-sunken: rgba(229, 229, 234, .75);--glass-bg: rgba(255, 255, 255, .5);--glass-bg-elevated: rgba(255, 255, 255, .68);--glass-border-light: rgba(255, 255, 255, .78);--glass-blur: blur(28px) saturate(190%);--glass-inset: inset 0 1px 0 rgba(255, 255, 255, .72);--stroke: rgba(60, 60, 67, .12);--stroke-strong: rgba(60, 60, 67, .18);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 8px 24px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .05);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .1), 0 6px 16px rgba(0, 0, 0, .05);--r-sm: 12px;--r-md: 18px;--r-lg: 24px;--r-xl: 999px;--ease: cubic-bezier(.25, .1, .25, 1);--t-fast: .16s var(--ease);--t-norm: .22s var(--ease);--text: var(--ink);--muted: var(--ink-muted);--body-bg: #f2f2f7;--body-gradient: radial-gradient(ellipse 125% 78% at 4% -12%, rgba(0, 122, 255, .14), transparent 56%), radial-gradient(ellipse 100% 65% at 100% 0%, rgba(90, 200, 250, .12), transparent 52%), radial-gradient(ellipse 85% 60% at 92% 88%, rgba(94, 92, 230, .08), transparent 50%), radial-gradient(ellipse 75% 55% at 8% 95%, rgba(52, 199, 89, .06), transparent 48%), linear-gradient(168deg, #eef2ff 0%, #f6f7fc 22%, #f2f2f7 48%, #eceaf2 78%, #e8e6ef 100%);--banner-ok-fg: #248a3d;--input-focus-bg: rgba(255, 255, 255, .96);--list-card-gradient: linear-gradient(135deg, #007aff 0%, #5ac8fa 42%, #5e5ce6 88%);--modal-backdrop-tint: rgba(0, 0, 0, .32);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--text);background-color:var(--body-bg);background-image:var(--body-gradient);background-attachment:scroll}[data-theme=dark]{color-scheme:dark;--ink: #ffffff;--ink-muted: #c7c7cc;--ink-faint: #aeaeb2;--primary: #0a84ff;--primary-hover: #409cff;--primary-soft: rgba(10, 132, 255, .2);--primary-glow: rgba(10, 132, 255, .38);--accent: #64d2ff;--success: #32d74b;--success-soft: rgba(50, 215, 75, .16);--warn: #ffd60a;--warn-soft: rgba(255, 214, 10, .16);--danger: #ff453a;--danger-soft: rgba(255, 69, 58, .18);--danger-on: #ffb4b0;--surface: rgba(28, 28, 30, .85);--surface-muted: rgba(44, 44, 46, .72);--surface-sunken: rgba(58, 58, 60, .65);--glass-bg: rgba(44, 44, 46, .52);--glass-bg-elevated: rgba(58, 58, 60, .68);--glass-border-light: rgba(255, 255, 255, .12);--glass-inset: inset 0 1px 0 rgba(255, 255, 255, .09);--stroke: rgba(84, 84, 88, .36);--stroke-strong: rgba(84, 84, 88, .48);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .32);--shadow-sm: 0 2px 10px rgba(0, 0, 0, .36), 0 1px 2px rgba(0, 0, 0, .24);--shadow-md: 0 8px 28px rgba(0, 0, 0, .42), 0 2px 10px rgba(0, 0, 0, .28);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .48), 0 6px 18px rgba(0, 0, 0, .34);--body-bg: #000000;--body-gradient: radial-gradient(ellipse 115% 72% at 6% -10%, rgba(10, 132, 255, .32), transparent 58%), radial-gradient(ellipse 100% 68% at 100% 2%, rgba(100, 210, 255, .16), transparent 54%), radial-gradient(ellipse 90% 62% at 50% 100%, rgba(94, 92, 230, .14), transparent 52%), radial-gradient(ellipse 80% 55% at 0% 92%, rgba(52, 199, 89, .08), transparent 48%), linear-gradient(175deg, #000000 0%, #0c1018 28%, #1c1c1e 52%, #141018 78%, #000000 100%);--banner-ok-fg: #8fd493;--input-focus-bg: rgba(58, 58, 60, .96);--list-card-gradient: linear-gradient(135deg, #0a84ff 0%, #64d2ff 42%, #5e5ce6 90%);--modal-backdrop-tint: rgba(0, 0, 0, .52);--text: var(--ink);--muted: var(--ink-muted)}[data-theme=dark] .detail-last-saved{color:var(--ink-muted)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--ink-faint);opacity:1}button,input,textarea{font:inherit}button{cursor:pointer}.theme-toggle{display:inline-grid;place-items:center;padding:0;border:1px solid var(--glass-border-light);border-radius:var(--r-xl);background:var(--glass-bg);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);color:var(--ink-muted);box-shadow:var(--shadow-xs),var(--glass-inset);transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),transform var(--t-fast)}.theme-toggle:hover{color:var(--ink);background:var(--glass-bg-elevated)}.theme-toggle:active{transform:scale(.97)}.theme-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.theme-toggle-icon{display:grid;place-items:center;line-height:0}.theme-toggle--floating{position:fixed;z-index:60;top:calc(12px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));width:40px;height:40px;min-width:40px;min-height:40px}.theme-toggle--inline{flex-shrink:0;width:30px;height:30px;min-width:30px;min-height:30px;box-sizing:border-box}.theme-toggle--inline .theme-toggle-icon svg{width:16px;height:16px}.app-shell,.auth-shell{min-height:100vh;padding:clamp(16px,3vw,28px)}.auth-shell{display:grid;gap:28px;align-items:center;max-width:1080px;margin:0 auto;box-sizing:border-box}.auth-hero,.auth-card,.panel,.banner{background:var(--glass-bg-elevated);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border-light);box-shadow:var(--shadow-sm),var(--glass-inset);border-radius:var(--r-lg)}.auth-hero,.auth-card,.panel{border-radius:var(--r-lg)}.auth-hero{padding:clamp(24px,4vw,40px)}.auth-hero-app-icon{display:block;width:clamp(72px,20vw,112px);height:auto;margin:0 0 16px;aspect-ratio:1;border-radius:24%;box-shadow:var(--shadow-md);-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.auth-hero h1{margin:0 0 14px;font-size:clamp(2rem,5vw,2.75rem);font-weight:700;line-height:1.12;letter-spacing:-.03em;color:var(--ink)}.auth-hero p{margin:0;color:var(--muted);font-size:1.05rem;line-height:1.6;max-width:40ch;font-weight:400}.auth-card{padding:28px}.topbar{margin:0 auto 22px;max-width:1320px;padding:0 4px}.topbar-main{width:100%}.topbar-brand{min-width:0;width:100%}.topbar-brand-header{display:flex;justify-content:flex-end;align-items:flex-start;gap:12px 16px;flex-wrap:wrap;margin-bottom:8px}.topbar-trailing .ghost-button.topbar-admin-link{flex-shrink:0;box-sizing:border-box;min-height:30px;padding:0 12px;font-size:.72rem;font-weight:600;letter-spacing:.02em;line-height:1.2;border-radius:999px}.topbar-trailing{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-width:0}.topbar-trailing-main{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.topbar-trailing-end{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;flex-shrink:0;margin-left:auto}.topbar-trailing .status-pill{flex-shrink:0;white-space:nowrap;box-sizing:border-box;min-height:30px;padding:0 12px;font-size:.72rem;line-height:1.2;border-radius:999px}.topbar-user-avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:.82rem;font-weight:700;letter-spacing:-.02em;color:#fff;background:linear-gradient(145deg,var(--primary) 0%,#5ac8fa 100%);box-shadow:var(--shadow-xs);-webkit-user-select:none;user-select:none;border:2px solid color-mix(in srgb,var(--glass-border-light) 55%,transparent)}.topbar-logout{box-sizing:border-box;min-height:30px;padding:0 11px;font-size:.72rem;font-weight:600;letter-spacing:.02em;line-height:1.2;border:none;border-radius:999px;background:var(--danger);color:#fff;cursor:pointer;box-shadow:var(--shadow-xs);transition:background var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast)}.topbar-logout:hover{background:color-mix(in srgb,var(--danger) 82%,#000);box-shadow:var(--shadow-sm)}.topbar-logout:active{transform:scale(.97)}.topbar-logout:focus-visible{outline:2px solid color-mix(in srgb,var(--danger) 55%,#fff);outline-offset:2px}.topbar-title-block{min-width:0;width:100%}.topbar h1,.section-head h2,.detail-header h2{margin:0;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.topbar-title-block .detail-description{margin:6px 0 0;max-width:min(65ch,100%)}.layout{display:grid;gap:22px;max-width:1320px;margin:0 auto}.detail-page-nav{max-width:1320px;margin:0 auto;width:100%}.back-link{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:.875rem;color:var(--primary);text-decoration:none;padding:10px 14px 10px 10px;margin:-10px 0 6px -10px;border-radius:var(--r-xl);transition:background var(--t-fast),transform var(--t-fast)}.back-link:hover{background:var(--primary-soft)}.back-link:active{transform:scale(.98)}.back-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.back-link:before{content:"";display:inline-block;width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(2px)}.panel{padding:clamp(20px,3vw,28px)}.home-list{min-height:280px;padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}.fab{position:fixed;z-index:50;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0;border-radius:50%;line-height:0;box-shadow:0 3px 5px -1px #0000002e,0 6px 10px #0000001f,0 1px 18px #007aff1f;transition:transform var(--t-fast),box-shadow var(--t-fast),filter var(--t-fast)}.fab:hover{box-shadow:0 5px 8px -2px #0003,0 10px 16px #0000001a,0 2px 22px #007aff38;filter:brightness(1.04)}.fab:active{transform:scale(.96)}.fab:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.fab-new-list{right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));border:0;background:linear-gradient(145deg,var(--primary) 0%,#5ac8fa 100%);color:#fff;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.fab-new-list:hover{filter:brightness(1.04)}.section-head,.modal-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.detail-header-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;overflow-wrap:anywhere;word-wrap:break-word}.detail-header-actions{flex-shrink:0;display:flex;align-items:flex-start;justify-content:flex-end}.detail-header-main>:first-child{margin-top:0}.detail-manage{position:relative}.detail-manage-toggle{display:inline-flex;align-items:center}.detail-manage-toggle .detail-manage-menu-icon{color:var(--muted)}.detail-manage-toggle:hover .detail-manage-menu-icon,.detail-manage-toggle:focus-visible .detail-manage-menu-icon{color:var(--ink-muted)}.detail-manage-toggle:after{content:"";display:inline-block;width:0;height:0;margin-left:6px;vertical-align:middle;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.75}.detail-manage-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:200px;padding:6px;margin:0;list-style:none;background:var(--glass-bg-elevated);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border-light);border-radius:var(--r-md);box-shadow:var(--shadow-md),var(--glass-inset)}.detail-manage-menu-item{display:block;width:100%;margin:0;padding:10px 12px;border:0;border-radius:var(--r-sm);background:transparent;font:inherit;font-size:.9rem;text-align:left;cursor:pointer;color:inherit;transition:background var(--t-norm)}.detail-manage-menu-row{display:flex;align-items:center;gap:10px;width:100%}.detail-manage-menu-icon{display:inline-flex;flex-shrink:0;color:var(--muted);line-height:0}.detail-manage-menu-item.danger-text .detail-manage-menu-icon{color:var(--danger)}.detail-manage-menu-item:hover,.detail-manage-menu-item:focus-visible{background:color-mix(in srgb,var(--primary) 8%,transparent);outline:none}.detail-manage-menu-item.danger-text:hover,.detail-manage-menu-item.danger-text:focus-visible{background:color-mix(in srgb,var(--danger) 10%,transparent)}.card-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.section-head-hint{margin:6px 0 0;max-width:42ch;font-size:.8rem;font-weight:500;color:var(--muted);line-height:1.4}.list-card-wrap{position:relative;display:flex;align-items:stretch;min-width:0;border-radius:var(--r-md);overflow:hidden;transition:transform var(--t-norm),box-shadow var(--t-norm),border-color var(--t-norm)}.list-card-wrap--with-photo{border:1px solid var(--glass-border-light);box-shadow:var(--shadow-xs),var(--glass-inset)}.list-card-bg-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:100%;background-size:cover;background-position:top center;z-index:0;pointer-events:none;border-radius:var(--r-md)}.list-card-wrap.dragging{opacity:.92;z-index:2;box-shadow:var(--shadow-lg)}.list-card-wrap .list-card{position:relative;z-index:1;flex:1;min-width:0;border-radius:0 var(--r-md) var(--r-md) 0;border-left:none}.list-card-drag{position:relative;z-index:2;flex-shrink:0;width:36px;margin:0;padding:0;border:1px solid color-mix(in srgb,var(--glass-border-light) 55%,transparent);border-radius:var(--r-md) 0 0 var(--r-md);border-right:none;background:color-mix(in srgb,var(--glass-bg) 68%,var(--surface-sunken));backdrop-filter:blur(18px) saturate(175%);-webkit-backdrop-filter:blur(18px) saturate(175%);box-shadow:var(--glass-inset);color:var(--ink-faint);font-weight:700;font-size:.95rem;line-height:1;cursor:grab;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.list-card-drag:hover{background:color-mix(in srgb,var(--primary) 18%,var(--glass-bg-elevated));border-color:color-mix(in srgb,var(--primary) 28%,var(--glass-border-light));color:var(--ink-muted)}.list-card-drag:active{cursor:grabbing}.list-card-wrap--with-photo .list-card-drag{align-self:stretch}.list-card{display:grid;gap:0;padding:0;border:1px solid var(--glass-border-light);border-radius:var(--r-md);overflow:hidden;text-align:left;background:var(--glass-bg-elevated);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-xs),var(--glass-inset);transition:box-shadow var(--t-norm),border-color var(--t-norm)}.list-card--with-photo{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border:none}a.list-card{text-decoration:none;color:inherit}.list-card-wrap:hover{transform:translateY(-4px)}.list-card-wrap:not(.list-card-wrap--with-photo):hover .list-card{box-shadow:var(--shadow-md),var(--glass-inset);border-color:color-mix(in srgb,var(--primary) 28%,var(--glass-border-light))}.list-card-wrap--with-photo:hover{box-shadow:var(--shadow-md),var(--glass-inset);border-color:color-mix(in srgb,var(--primary) 28%,var(--glass-border-light))}.list-card:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.list-card-image{position:relative;min-height:148px;background:var(--list-card-gradient);background-size:cover;background-position:center;color:#fff;display:grid;place-items:center;font-size:2.75rem;font-weight:700;letter-spacing:-.04em;text-shadow:0 2px 12px rgba(0,0,0,.15)}.list-card-image--photo{display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;place-items:unset;background:linear-gradient(180deg,#0000001a,#00000094);background-color:transparent;font-size:inherit;font-weight:inherit;letter-spacing:inherit}.list-card-title-overlay{position:relative;z-index:1;margin-top:auto;padding:12px 14px 14px}.list-card-title-overlay h3{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:#fff;line-height:1.25;text-shadow:0 1px 2px rgba(0,0,0,.55),0 2px 14px rgba(0,0,0,.35)}.list-card-badge{position:absolute;top:10px;right:10px;z-index:2;padding:4px 10px;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:color-mix(in srgb,var(--glass-bg-elevated) 82%,transparent);color:var(--ink);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid var(--glass-border-light);box-shadow:var(--shadow-xs)}.list-card-body{padding:18px 18px 16px;display:flex;justify-content:space-between;gap:14px;align-items:flex-start;background:transparent}.list-card-body h3{margin:0 0 6px;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.list-card-body p,.detail-description,.item-copy p,.empty-state p{color:var(--muted);margin:0;font-size:.875rem;line-height:1.5}.list-card-body small{color:var(--ink-faint);font-size:.75rem;font-weight:600;white-space:nowrap}.list-card-body--under-photo{padding:14px 16px 16px;border-radius:0 0 var(--r-md) 0;border-left:1px solid color-mix(in srgb,var(--stroke) 75%,transparent);border-top:1px solid color-mix(in srgb,var(--glass-border-light) 55%,transparent);background:linear-gradient(180deg,#fffffff0,#f8f8faeb),color-mix(in srgb,var(--glass-bg-elevated) 35%,transparent);backdrop-filter:blur(24px) saturate(185%);-webkit-backdrop-filter:blur(24px) saturate(185%);box-shadow:var(--glass-inset);color:var(--ink)}[data-theme=dark] .list-card-body--under-photo{background:linear-gradient(180deg,#2c2c2ef0,#202022eb),color-mix(in srgb,var(--glass-bg-elevated) 40%,transparent)}.list-card-body--under-photo p{color:var(--ink-muted)}.list-card-body--under-photo small{color:var(--ink-muted);opacity:.92}[data-theme=dark] .list-card-body--under-photo small{opacity:1}.list-card-body p.list-card-meta{margin:8px 0 0;font-size:.75rem;font-weight:500;line-height:1.4;color:var(--ink-faint)}.list-card-body--under-photo p.list-card-meta{color:var(--ink-muted)}.detail-shared-hint{margin:6px 0 0;font-size:.85rem;color:var(--muted);font-weight:600}.detail-last-saved{margin:8px 0 0;font-size:.8rem;color:var(--ink-faint);font-weight:500;line-height:1.4}.detail-presence{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:10px 0 0}.detail-presence-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.detail-presence-avatars{display:flex;align-items:center;padding-left:4px}.detail-presence-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:-8px;border-radius:50%;border:2px solid rgba(255,255,255,.85);background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 14%,var(--glass-bg-elevated)),color-mix(in srgb,var(--accent) 12%,var(--glass-bg-elevated)));color:var(--primary);font-size:.8rem;font-weight:700;box-shadow:var(--shadow-xs)}.detail-presence-avatar:first-child{margin-left:0}.detail-description{margin:8px 0 0;font-size:.9rem;line-height:1.5}.share-modal-intro{margin:0 0 12px;color:var(--muted);font-size:.9rem;line-height:1.45}.share-invite-form{margin-bottom:8px}.share-username-field .share-username-wrap{position:relative}.share-user-suggestions{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;margin:0;padding:4px;list-style:none;max-height:min(240px,40vh);overflow-y:auto;background:var(--glass-bg-elevated);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border-light);border-radius:var(--r-md);box-shadow:var(--shadow-md),var(--glass-inset)}.share-user-suggestion{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:10px 12px;border-radius:var(--r-sm);cursor:pointer;font-size:.9rem;line-height:1.35;transition:background var(--t-fast)}.share-user-suggestion:hover,.share-user-suggestion.is-active{background:color-mix(in srgb,var(--primary) 10%,transparent)}.share-user-suggestion-name{font-weight:600;color:var(--ink)}.share-user-suggestion-handle{color:var(--muted);font-weight:500;font-size:.85rem}.share-username-hint{display:block;margin-top:6px;font-size:.8rem;color:var(--muted)}.share-collaborators{margin-top:18px;padding-top:16px;border-top:1px solid var(--stroke)}.share-collaborators-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 12px}.share-collaborators-head .eyebrow{margin:0}.share-revoke-all{flex-shrink:0}.share-user-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.share-user-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.9rem}.share-user-handle{color:var(--muted);font-weight:500}.detail-header .eyebrow+h2{margin-top:6px}.detail-shell{display:grid;gap:22px}.item-create,.item-row{display:grid;gap:8px 10px;align-items:start}.item-create{grid-template-columns:1.2fr 1fr auto;padding:6px 0 10px}.item-create-title-wrap{position:relative;min-width:0;display:flex;flex-direction:column;gap:6px}.item-list{display:grid;gap:10px}.item-row{grid-template-columns:auto auto minmax(0,1fr) auto;padding:10px 8px 10px 10px;border-radius:var(--r-md);background:var(--glass-bg);backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border:1px solid var(--glass-border-light);box-shadow:var(--shadow-xs),var(--glass-inset);transition:box-shadow var(--t-fast),border-color var(--t-fast),background var(--t-fast)}.item-row:hover{box-shadow:var(--shadow-sm);border-color:var(--stroke-strong)}.item-row.dragging{box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--primary) 35%,var(--stroke))}.item-row.completed .item-keep-title,.item-row.completed .item-keep-notes{text-decoration:line-through;opacity:.55}.item-keep-fields{min-width:0;display:flex;flex-direction:column;gap:4px;padding:2px 0}.item-keep-title,.item-keep-notes{width:100%;margin:0;padding:4px 6px;border:none;border-radius:var(--r-sm);background:transparent;font:inherit;color:var(--ink);box-sizing:border-box;transition:background var(--t-fast)}.item-keep-title{font-size:.95rem;font-weight:600;letter-spacing:-.01em}.item-keep-title:hover,.item-keep-title:focus{background:color-mix(in srgb,var(--primary) 6%,transparent);outline:none}.item-keep-title:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 25%,transparent)}.item-keep-notes{font-size:.82rem;font-weight:400;color:var(--muted);resize:none;min-height:1.35em;max-height:120px;line-height:1.45}.item-keep-notes:hover,.item-keep-notes:focus{background:color-mix(in srgb,var(--primary) 5%,transparent);outline:none}.item-keep-notes:focus{color:var(--ink-muted);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 25%,transparent)}.item-keep-notes::placeholder{color:var(--ink-faint)}.item-row-delete{align-self:start;width:28px;height:28px;margin-top:2px;padding:0;border:none;border-radius:var(--r-sm);background:transparent;color:var(--ink-faint);font-size:1.35rem;line-height:1;cursor:pointer;opacity:.5;transition:opacity var(--t-fast),color var(--t-fast),background var(--t-fast)}@media(hover:hover)and (pointer:fine){.item-row-delete{opacity:0}.item-row:hover .item-row-delete{opacity:1}}.item-row-delete:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.item-row-delete:focus-visible{opacity:1;outline:2px solid color-mix(in srgb,var(--danger) 45%,transparent);outline-offset:1px}.drag-handle{align-self:stretch;padding:0 10px;border-radius:var(--r-sm);background:transparent;border:0;color:var(--ink-faint);font-weight:700;transition:background var(--t-fast),color var(--t-fast)}.drag-handle:hover{background:var(--surface-sunken);color:var(--ink-muted)}.check-column{position:relative;width:40px;height:40px;display:grid;place-items:center}.check-column input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.check-column span{position:relative;display:block;width:20px;height:20px;border-radius:6px;border:2px solid var(--stroke-strong);background:color-mix(in srgb,var(--glass-bg-elevated) 90%,transparent);transition:background var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast)}.check-column input:checked+span{background:linear-gradient(145deg,var(--primary),#5ac8fa);border-color:transparent;box-shadow:0 2px 8px var(--primary-glow)}.check-column input:checked+span:after{content:"";position:absolute;left:6px;top:2px;width:4px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);box-sizing:border-box}.check-column input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}.stack{display:grid;gap:18px}label{display:grid;gap:8px;font-weight:600;font-size:.8125rem;color:var(--ink);letter-spacing:.01em}.field-hint{font-weight:400;font-size:.75rem;color:var(--ink-faint);line-height:1.35}input,textarea{width:100%;border-radius:var(--r-sm);border:1px solid color-mix(in srgb,var(--stroke-strong) 70%,var(--glass-border-light));padding:12px 14px;background:color-mix(in srgb,var(--glass-bg-elevated) 55%,var(--surface-muted));backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);color:var(--text);transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}input:hover,textarea:hover{border-color:var(--ink-faint);background:color-mix(in srgb,var(--glass-bg-elevated) 75%,white)}input:focus,textarea:focus{border-color:var(--primary);outline:none;background:var(--input-focus-bg);box-shadow:0 0 0 3px var(--primary-soft)}textarea{resize:vertical;min-height:92px}.primary-button,.ghost-button,.danger-button{border:0;border-radius:var(--r-xl);padding:11px 22px;font-weight:600;font-size:.875rem;letter-spacing:.01em;line-height:1.35;transition:transform var(--t-fast),box-shadow var(--t-fast),background var(--t-fast),color var(--t-fast)}.primary-button{background:linear-gradient(145deg,var(--primary) 0%,#5ac8fa 100%);color:#fff;box-shadow:0 2px 14px #007aff61,inset 0 1px #ffffff40}.primary-button:hover{box-shadow:0 4px 22px #007aff73,inset 0 1px #ffffff47;filter:brightness(1.03)}.primary-button:active{transform:scale(.98)}.ghost-button{background:var(--glass-bg);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);color:var(--ink-muted);border:1px solid var(--glass-border-light);box-shadow:var(--shadow-xs),var(--glass-inset)}.ghost-button:hover{border-color:color-mix(in srgb,var(--primary) 22%,var(--glass-border-light));color:var(--ink);background:var(--glass-bg-elevated)}.danger-button{background:var(--danger-soft);color:var(--danger-on);border:1px solid transparent}.danger-button:hover{background:color-mix(in srgb,var(--danger) 14%,var(--surface))}.danger-text{color:var(--danger)}.eyebrow{margin:0 0 8px;color:var(--accent);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.65rem}.status-pill{display:inline-flex;align-items:center;border-radius:var(--r-xl);padding:7px 14px;font-weight:600;font-size:.75rem;letter-spacing:.02em;border:1px solid var(--glass-border-light);background:var(--glass-bg);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);box-shadow:var(--shadow-xs),var(--glass-inset)}.status-pill.online{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 25%,transparent)}.status-pill.offline{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 28%,transparent)}.banner{max-width:1320px;margin:0 auto 20px;padding:14px 18px;border-radius:var(--r-md);font-size:.9rem;font-weight:500}.banner-error{color:var(--danger-on);background:color-mix(in srgb,var(--danger) 10%,var(--glass-bg-elevated));backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid color-mix(in srgb,var(--danger) 28%,var(--glass-border-light))}.banner-ok{color:var(--banner-ok-fg);background:color-mix(in srgb,var(--success) 12%,var(--glass-bg-elevated));backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid color-mix(in srgb,var(--success) 28%,var(--glass-border-light))}.inline-error{color:var(--danger);font-weight:600;font-size:.8125rem}.empty-state{min-height:180px;display:grid;place-items:center;text-align:center;padding:28px;color:var(--muted)}.empty-state h3{margin:0 0 10px;font-weight:700;font-size:1.2rem;letter-spacing:-.02em;color:var(--ink)}.empty-state.compact{min-height:120px}.tabbar{display:inline-grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:5px;border-radius:var(--r-md);background:color-mix(in srgb,var(--glass-bg) 65%,var(--surface-sunken));backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid var(--glass-border-light);box-shadow:var(--shadow-xs),inset 0 1px #ffffff80;margin-bottom:22px}.tabbar button{border:0;background:transparent;padding:11px 18px;border-radius:8px;font-weight:600;font-size:.875rem;color:var(--muted);transition:background var(--t-fast),color var(--t-fast),box-shadow var(--t-fast)}.tabbar .active{background:var(--glass-bg-elevated);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--ink);box-shadow:var(--shadow-sm),var(--glass-inset)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-backdrop-tint);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);display:grid;place-items:center;padding:24px;z-index:100}.modal-backdrop-stack{z-index:110}.modal-card{width:min(100%,480px);border-radius:var(--r-lg);background:var(--glass-bg-elevated);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border-light);padding:26px;box-shadow:var(--shadow-lg),var(--glass-inset)}.modal-card h3{margin:0 0 18px;font-weight:700;font-size:1.35rem;letter-spacing:-.02em}.modal-card-compact{width:min(100%,380px);padding:22px}.modal-card-compact h3{margin:0 0 10px;font-size:1.15rem}.modal-confirm-text{margin:0 0 18px;font-size:.9rem;font-weight:500;color:var(--muted);line-height:1.45}.list-form-image-block{display:flex;flex-direction:column;gap:6px}.list-form-current-image{position:relative;margin:0;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--stroke);background:var(--surface-sunken)}.list-form-current-image img{display:block;width:100%;max-height:160px;object-fit:cover}.list-form-image-remove-x{position:absolute;top:8px;right:8px;width:32px;height:32px;padding:0;margin:0;border:none;border-radius:var(--r-sm);background:color-mix(in srgb,#0f172a 55%,transparent);color:#fff;font-size:1.35rem;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 10px #0003;transition:background var(--t-fast),transform var(--t-fast),color var(--t-fast)}.list-form-image-remove-x:hover{background:color-mix(in srgb,var(--danger) 88%,#000);color:#fff}.list-form-image-remove-x:focus-visible{outline:2px solid #fff;outline-offset:2px}[data-theme=dark] .list-form-image-remove-x{background:color-mix(in srgb,#000 70%,transparent)}[data-theme=dark] .list-form-image-remove-x:hover{background:color-mix(in srgb,var(--danger) 88%,#000)}.list-form-remove-banner{margin:8px 0 12px;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--stroke);background:var(--surface-muted);display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.list-form-remove-banner p{margin:0;flex:1 1 12rem;font-size:.85rem;font-weight:500;color:var(--muted)}.list-form-image-field{display:grid;gap:8px;font-weight:600;font-size:.8125rem;color:var(--ink);letter-spacing:.01em}.list-form-field-label{display:block}.list-form-file-picker-wrap{display:flex;flex-direction:column;gap:8px}.list-form-file-dropzone{position:relative;display:block;margin:0;cursor:pointer;font-weight:400}.list-form-file-input-native{position:absolute;left:0;top:0;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.list-form-file-dropzone-inner{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--r-md);border:2px dashed color-mix(in srgb,var(--primary) 32%,var(--stroke-strong));background:linear-gradient(155deg,color-mix(in srgb,var(--primary) 8%,var(--glass-bg)) 0%,var(--surface-muted) 100%);backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}.list-form-file-dropzone:hover .list-form-file-dropzone-inner{border-color:color-mix(in srgb,var(--primary) 50%,var(--stroke));background:linear-gradient(155deg,color-mix(in srgb,var(--primary) 12%,var(--glass-bg-elevated)) 0%,var(--glass-bg-elevated) 100%)}.list-form-file-dropzone:focus-within .list-form-file-dropzone-inner{border-color:var(--primary);border-style:solid;outline:none;box-shadow:0 0 0 3px var(--primary-soft)}.list-form-file-dropzone-icon{flex-shrink:0;display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r-md);background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}.list-form-file-dropzone-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.list-form-file-dropzone-title{font-weight:700;font-size:.9rem;color:var(--ink);letter-spacing:-.02em}.list-form-file-dropzone-hint{font-size:.75rem;font-weight:500;color:var(--ink-faint)}.list-form-file-dropzone-name{margin-top:2px;font-size:.8rem;font-weight:600;color:var(--primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-form-file-clear{align-self:flex-start;padding:0;border:none;background:none;font:inherit;font-size:.8rem;font-weight:600;color:var(--muted);text-decoration:underline;text-underline-offset:.12em;cursor:pointer;transition:color var(--t-fast)}.list-form-file-clear:hover{color:var(--danger)}.list-form-file-clear:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:2px;border-radius:var(--r-sm)}.checkbox-row{display:flex;align-items:center;gap:10px;font-weight:500;color:var(--muted)}.checkbox-row input{width:auto}@media(min-width:960px){.layout{grid-template-columns:minmax(360px,460px) minmax(0,1fr)}.layout.layout-single{grid-template-columns:minmax(0,1fr)}.auth-shell{grid-template-columns:1.12fr minmax(320px,440px)}}@media(max-width:959px){.auth-shell{min-height:100vh;min-height:100dvh;padding-top:max(clamp(16px,3vw,28px),env(safe-area-inset-top,0px));padding-bottom:max(clamp(16px,3vw,28px),env(safe-area-inset-bottom,0px));align-content:center;justify-items:stretch}.auth-hero{text-align:center}.auth-hero-app-icon{margin-left:auto;margin-right:auto}.section-head,.modal-actions{flex-direction:column;align-items:stretch}.detail-header,.topbar-brand-header{gap:10px}.item-create{grid-template-columns:1fr}.item-row{grid-template-columns:auto auto minmax(0,1fr) auto}.admin-table thead{display:none}.admin-table tr{display:block;padding:14px;border:1px solid var(--glass-border-light);border-radius:var(--r-md);margin-bottom:12px;background:var(--glass-bg-elevated);box-shadow:var(--shadow-xs),var(--glass-inset)}.admin-table td{display:block;padding:6px 0;border:0}.admin-table td:first-child{padding-top:0}.admin-table td:last-child{padding-bottom:0}.admin-table td:before{content:attr(data-label);display:block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:4px}.admin-col-actions{width:100%;max-width:100%;min-width:0;white-space:normal;text-align:left;padding-top:4px}.admin-row-actions{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:stretch;align-items:stretch;width:100%;gap:10px}.admin-row-actions .admin-action,.admin-row-actions .ghost-button.admin-action{display:flex;width:100%;max-width:100%;justify-content:center;align-items:center;text-align:center;box-sizing:border-box}.admin-table-wrap{margin:0;padding:0;overflow-x:visible;-webkit-overflow-scrolling:auto}}a.topbar-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.admin-layout .admin-panel{width:100%;-webkit-backdrop-filter:none;backdrop-filter:none}.admin-panels{display:grid;gap:clamp(22px,4vw,32px);width:100%}.admin-panels .admin-banner{grid-column:1 / -1;margin:0}.admin-panel-block{margin:0;overflow:visible}.admin-panel-block--users{border-left:3px solid var(--primary);background:linear-gradient(165deg,color-mix(in srgb,var(--primary) 11%,var(--glass-bg-elevated)) 0%,var(--glass-bg-elevated) min(52%,420px))}.admin-panel-block--lists{border-left:3px solid var(--accent);background:linear-gradient(165deg,color-mix(in srgb,var(--accent) 13%,var(--glass-bg-elevated)) 0%,var(--glass-bg-elevated) min(52%,420px))}.admin-panel-block--suggestions{border-left:3px solid var(--success);background:linear-gradient(165deg,color-mix(in srgb,var(--success) 12%,var(--glass-bg-elevated)) 0%,var(--glass-bg-elevated) min(52%,420px))}.admin-suggestion-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:14px}.admin-suggestion-add-label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:min(280px,100%)}.admin-suggestion-add-label span{font-size:.75rem;font-weight:600;color:var(--muted)}.admin-suggestion-add-label input{width:100%}.admin-head{align-items:flex-start}.admin-head h2{margin-bottom:6px}.admin-lead{margin:0;color:var(--muted);font-size:.9rem;max-width:52ch}.admin-list-owner-handle{color:var(--muted);font-weight:500;font-size:.85rem}.admin-banner{margin-bottom:16px}.admin-table-wrap{margin:0 -4px;padding:4px;overflow-x:visible}@media(min-width:960px){.admin-table-wrap{overflow-x:auto}}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table th{text-align:left;padding:10px 12px;color:var(--ink-faint);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--stroke)}.admin-table td{padding:14px 12px;border-bottom:1px solid var(--stroke);vertical-align:middle}.admin-table tbody tr:hover{background:#007aff0d}[data-theme=dark] .admin-table tbody tr:hover{background:var(--primary-soft)}@media(min-width:960px){.admin-col-actions{width:1%;white-space:nowrap}.admin-row-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:8px;width:100%;min-width:0}.admin-row-actions>.admin-action{flex:1 1 0;min-width:0;width:auto;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}}.admin-action{padding:8px 14px!important;font-size:.8125rem!important}.admin-role-pill{display:inline-flex;padding:4px 10px;border-radius:var(--r-xl);font-size:.75rem;font-weight:600;background:var(--surface-sunken);color:var(--ink-muted)}.admin-role-pill--admin{background:var(--primary-soft);color:var(--primary)}.admin-modal-hint{margin:0 0 16px;color:var(--muted);font-size:.9rem;line-height:1.5}.setup-shell .auth-hero h1{font-size:clamp(1.75rem,4vw,2.25rem)}.setup-error-card h1{margin:0 0 12px;font-size:1.35rem;font-weight:700}.setup-error-text{margin:0 0 20px;color:var(--muted);line-height:1.55}@supports not (color: color-mix(in srgb,white 50%,black)){.list-card:hover,.item-row.dragging{border-color:#b3d7ff}.danger-button:hover{background:#dc26261f}.banner-error{background:#fef2f2;border-color:#fecaca}.banner-ok{background:#ecfdf5;border-color:#a7f3d0}.status-pill.online{border-color:#05966959}.status-pill.offline{border-color:#d9770659}[data-theme=dark] .list-card:hover,[data-theme=dark] .item-row.dragging{border-color:#3d6a9e}[data-theme=dark] .banner-error{background:#2c1f1f;border-color:#7f2a2a}[data-theme=dark] .banner-ok{background:#14261c;border-color:#2d6b4a}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.auth-hero,.auth-card,.panel,.banner,.list-card,.item-row,.modal-card,.ghost-button,.status-pill,.detail-manage-menu,.share-user-suggestions,.tabbar,.tabbar .active,.list-card-drag{backdrop-filter:none;-webkit-backdrop-filter:none}.auth-hero,.auth-card,.panel,.list-card,.item-row,.modal-card{background:#fffffff0}.list-card-drag{background:#ffffffc7;box-shadow:none}.banner.banner-error{background:#fff5f5f5}.banner.banner-ok{background:#ecfdf5f5}.ghost-button,.status-pill,.tabbar,.tabbar .active{background:#ffffffeb}.detail-manage-menu,.share-user-suggestions{background:#fffffff7}[data-theme=dark] .auth-hero,[data-theme=dark] .auth-card,[data-theme=dark] .panel,[data-theme=dark] .list-card,[data-theme=dark] .item-row,[data-theme=dark] .modal-card{background:#28282af5}[data-theme=dark] .banner.banner-error{background:#2c1f1ff7}[data-theme=dark] .banner.banner-ok{background:#14261cf7}[data-theme=dark] .ghost-button,[data-theme=dark] .status-pill,[data-theme=dark] .tabbar,[data-theme=dark] .tabbar .active{background:#303032f0}[data-theme=dark] .detail-manage-menu,[data-theme=dark] .share-user-suggestions{background:#2c2c2efa}[data-theme=dark] .list-card-drag{background:#303032c7}}
