@media (min-width: 1024px){.top-header-right{display:flex;align-items:center;gap:8px;padding-right:8px;flex-shrink:0}.top-header-content{flex:1;min-width:0}}@media (max-width: 1023px){.top-header{padding-right:calc(clamp(12px,4vw,16px) + 56px)}.top-header-content,.top-header-right{display:none}}.top-header-right .footer-btn{height:36px;padding:0 14px;font-size:.8125rem;border-radius:var(--r-sm)}.top-header-right .footer-btn.primary{background:var(--btn);color:var(--btn-text);border-color:var(--btn)}.top-header-right .footer-btn.primary:hover{background:var(--btn-hover);border-color:var(--btn-hover)}.top-header-right .footer-btn.secondary{background:var(--surface);color:var(--text);border-color:var(--line)}.top-header-right .footer-btn.secondary:hover{background:var(--surface-warm)}.top-header-right .footer-btn.danger{background:#b91c1c;color:#fff;border-color:#991b1b}.top-header-right .footer-btn.danger:hover{background:#991b1b}.top-header-right .footer-btn:disabled{opacity:.4;cursor:not-allowed}.notifications{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:calc(100% - 2rem);width:24rem;pointer-events:none}.notification{pointer-events:all}.notification{background:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;justify-content:space-between;animation:slideIn .3s ease}.notification-validation{border-left:4px solid #22c55e}.notification-network{border-left:4px solid #f59e0b}.notification-auth{border-left:4px solid #3b82f6}.notification-unknown{border-left:4px solid #ef4444}.notification-message{margin-right:1rem;font-size:.875rem}.notification-close{background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;font-size:1.25rem;line-height:1}.notification-close:hover{color:#1f2937}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 1200px){.notifications-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000001f;backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);pointer-events:none;z-index:9998}.notifications{top:50%;left:50%;right:auto;transform:translate(-50%,-50%);width:min(90vw,360px);max-width:min(90vw,360px);max-height:80vh;overflow:auto;align-items:stretch;z-index:9999}.notification{animation:fadeInCenter .25s ease}@keyframes fadeInCenter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}}.notifications-overlay{display:none}.confirmation-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1a1773;display:grid;place-items:center;z-index:9998;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);overflow:auto;overscroll-behavior:contain;-webkit-backdrop-filter:saturate(150%) blur(2px);backdrop-filter:saturate(150%) blur(2px)}.confirmation-modal{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--sp-4);width:min(92vw,420px);max-height:88dvh;overflow:auto;overscroll-behavior:contain;animation:cm-in .2s ease}@keyframes cm-in{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.confirmation-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:400;margin:0 0 var(--sp-2);color:var(--text-strong)}.confirmation-title.danger{color:#b91c1c}.confirmation-title.warning{color:var(--accent)}.confirmation-title.info{color:var(--ink)}.confirmation-modal p{margin:0 0 var(--sp-3);color:var(--text-muted);font-size:.9375rem;line-height:1.6}.confirmation-buttons{display:flex;gap:var(--sp-2);justify-content:flex-end;padding-top:var(--sp-3);border-top:1.5px dashed var(--line);margin-top:var(--sp-2);background:var(--surface)}.confirmation-modal button{display:inline-flex;align-items:center;justify-content:center;padding:0 1.125rem;height:var(--tap);border-radius:var(--r);font-family:var(--font-sans);font-weight:600;font-size:.875rem;cursor:pointer;border:1px solid var(--line);transition:background .15s ease,border-color .15s ease,transform .1s ease,box-shadow .1s ease}.confirmation-modal button.cancel{background:var(--surface);color:var(--text);border-color:var(--line)}.confirmation-modal button.cancel:hover{background:var(--surface-warm)}.confirmation-modal button.confirm{color:#fff}.confirmation-modal button.confirm.danger{background:#b91c1c;border-color:#991b1b;box-shadow:2px 2px 0 var(--text)}.confirmation-modal button.confirm.danger:hover{background:#991b1b;transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--text)}.confirmation-modal button.confirm.danger:active{transform:translate(2px,2px);box-shadow:none}.confirmation-modal button.confirm.warning,.confirmation-modal button.confirm.info{background:var(--btn);border-color:var(--text);box-shadow:2px 2px 0 var(--text)}.confirmation-modal button.confirm.warning:hover,.confirmation-modal button.confirm.info:hover{background:var(--btn-hover);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--text)}.confirmation-modal button.confirm.warning:active,.confirmation-modal button.confirm.info:active{transform:translate(2px,2px);box-shadow:none}@media (max-width: 640px){.confirmation-modal-overlay{align-items:flex-start;padding:6dvh 16px calc(12px + env(safe-area-inset-bottom))}.confirmation-modal{width:100%;max-height:90dvh}.confirmation-buttons{flex-direction:column-reverse}.confirmation-modal button{width:100%}}.toast-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000047;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:9998}.toast-card{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;color:var(--text);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px #0000002e;z-index:9999;width:calc(100vw - 32px);max-width:380px;padding:16px;display:grid;gap:12px}.toast-message{text-align:center;font-weight:600}.toast-actions{display:flex;justify-content:center}.toast-btn{min-width:120px}@media (min-width: 768px){.toast-card{max-width:360px;padding:16px 18px}}:root{--bg: #fdf9ec;--surface: #ffffff;--surface-warm: #f4f0e6;--surface-mid: #ece8dd;--text: #1c1a17;--text-strong: #0e0d0b;--text-muted: #7a6f5a;--text-faint: #b5a99a;--line: #cfc1a3;--line-strong: #b0a48e;--ink: #1e3a8a;--ink-hover: #1e40af;--stamp: #b91c1c;--btn: var(--ink);--btn-hover: var(--ink-hover);--btn-text: #fdf9ec;--accent: #5c4f3a;--accent-soft: rgba(92, 79, 58, .12);--font-serif: "DM Serif Display", Georgia, "Times New Roman", serif;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-hand: "Caveat", cursive;--font-mono: "Geist Mono", "Courier New", monospace;--sp-1: .25rem;--sp-2: .5rem;--sp-3: 1rem;--sp-4: 1.5rem;--sp-5: 2rem;--sp-6: 3rem;--r-sm: 6px;--r: 10px;--r-lg: 16px;--shadow-sm: 0 1px 3px rgba(28, 26, 23, .06);--shadow: 0 4px 16px rgba(28, 26, 23, .09);--shadow-lg: 0 12px 40px rgba(28, 26, 23, .14);--container: 900px;--sidebar-w: 256px;--header-h: 60px;--tap: 44px;--muted: var(--text-muted);--bar: var(--surface-warm);--card-dark: var(--surface-warm);--radius: var(--r-lg);--radius-md: var(--r);--radius-sm: var(--r-sm);--shadow-sm-old: var(--shadow-sm);--font: var(--font-sans);--space-1: var(--sp-1);--space-2: var(--sp-2);--space-3: var(--sp-3);--space-4: var(--sp-4);--space-5: var(--sp-5);--space-6: var(--sp-6)}.theme-noel{--ink: #14532d;--ink-hover: #166534;--stamp: #991b1b;--accent: #a16207;--accent-soft: rgba(161, 98, 7, .1)}.theme-summer,.theme-anniversaire{--ink: #7c2d12;--ink-hover: #9a3412;--stamp: #c2410c;--accent: #b45309;--accent-soft: rgba(180, 83, 9, .1)}.theme-birthday{--ink: #5b21b6;--ink-hover: #6d28d9;--stamp: #a78bfa;--accent: #7c3aed;--accent-soft: rgba(124, 58, 237, .1)}.theme-mariage{--ink: #374151;--ink-hover: #4b5563;--stamp: #92400e;--accent: #a16207;--accent-soft: rgba(161, 98, 7, .1)}.theme-naissance{--ink: #0e7490;--ink-hover: #0891b2;--stamp: #a16207;--accent: #475569;--accent-soft: rgba(71, 85, 105, .1)}.theme-cremaillere{--ink: #6b21a8;--ink-hover: #7c3aed;--stamp: #be123c;--accent: #7c3aed;--accent-soft: rgba(107, 33, 168, .1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--text);background:radial-gradient(circle at 20% 10%,rgba(146,64,14,.04) 0,transparent 40%),radial-gradient(circle at 80% 90%,rgba(28,26,23,.05) 0,transparent 40%),repeating-linear-gradient(0deg,rgba(0,0,0,.012) 0 1px,transparent 1px 4px),var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-y:scroll;overflow-x:hidden}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--surface-warm)}*::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:8px}*{scrollbar-color:var(--line-strong) var(--surface-warm);scrollbar-width:thin}a{text-decoration:none;color:inherit}input,textarea,select,button{font:inherit}input::placeholder,textarea::placeholder{color:var(--text-faint);opacity:1}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;color:var(--text-strong);margin:0 0 var(--sp-3);line-height:1.2}h1{font-size:clamp(1.75rem,4vw,2.5rem)}h2{font-size:clamp(1.25rem,3vw,1.75rem)}h3{font-size:1.125rem}h4{font-size:1rem}p{margin:0 0 var(--sp-3)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(16px,4vw,32px)}.app-shell{display:flex;flex-direction:column;min-height:100dvh}.app-layout{display:flex;flex:1}.app-content{flex:1;min-width:0;margin-top:var(--header-h);padding-top:var(--sp-4)}@media (min-width: 1024px){.app-content{margin-left:var(--sidebar-w);margin-top:0;padding-top:0}}.sidebar{position:fixed;top:var(--header-h);left:0;bottom:0;width:var(--sidebar-w);background:radial-gradient(circle at 20% 10%,rgba(146,64,14,.04) 0,transparent 40%),radial-gradient(circle at 80% 90%,rgba(28,26,23,.05) 0,transparent 40%),repeating-linear-gradient(0deg,rgba(0,0,0,.012) 0 1px,transparent 1px 4px),var(--bg);border-right:1.5px dashed var(--line);display:flex;flex-direction:column;overflow-y:auto;z-index:100;padding:18px;gap:12px}@media (min-width: 1024px){.sidebar{top:0}}@media (max-width: 1023px){.sidebar{display:none}.app-content{margin-left:0}}.sidebar-brand .brand-title{font-size:1.25rem}.sidebar-new-list{padding:0}.new-list-button{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:10px 14px;background:var(--btn);color:var(--btn-text);border:1.5px solid var(--text);border-radius:var(--r);font-family:var(--font-sans);font-weight:600;font-size:.875rem;cursor:pointer;box-shadow:2px 2px 0 var(--text);transition:background .15s ease,transform .1s ease,box-shadow .1s ease}.new-list-button:hover{background:var(--btn-hover);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--text)}.new-list-button:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--text)}.sidebar-title{padding:var(--sp-2) var(--sp-2) var(--sp-1);font-family:var(--font-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted)}.sidebar-lists{display:flex;flex-direction:column;gap:4px}.list-row{padding:10px 12px;border-radius:var(--r-sm);border:1.5px solid transparent;cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s}.list-row:hover{background:var(--surface-mid)}.list-row.active{background:var(--bg);border-color:var(--text);box-shadow:2px 2px 0 var(--text)}.list-link{font-family:var(--font-serif);font-size:1rem;color:var(--ink);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-subtitle{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.sidebar-empty{font-size:.8125rem;color:var(--text-faint);padding:4px 10px}.list-menu-container{position:relative}.list-menu-trigger{background:none;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text-muted);font-size:1rem;width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .12s ease}.list-menu-trigger:hover{background:var(--surface-mid);color:var(--text)}.list-dropdown-menu{position:absolute;top:100%;right:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-width:172px;box-shadow:var(--shadow);z-index:200;padding:4px}.menu-item{width:100%;background:none;border:none;color:var(--text);padding:8px 12px;text-align:left;cursor:pointer;font-size:.875rem;border-radius:var(--r-sm);display:flex;align-items:center;gap:8px;transition:background .12s ease}.menu-item:hover{background:var(--surface-warm)}.menu-item.danger{color:#b91c1c}.menu-item.danger:hover{background:#fef2f2}.menu-divider{border:none;height:1px;background:var(--line);margin:4px 0}.sidebar-footer{margin-top:auto;padding-top:10px;border-top:1.5px dashed var(--line);font-family:var(--font-mono);font-size:9px;color:var(--text-muted);line-height:1.8}.sidebar-footer .nav-link,.sidebar-footer .nav-link.small{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);text-decoration:none;background:none;border:none;cursor:pointer;display:inline}.sidebar-footer .nav-link:hover{color:var(--text)}.top-header{position:fixed;top:0;left:0;right:0;height:var(--header-h);background:var(--surface-warm);border-bottom:1.5px dashed var(--line);display:flex;align-items:center;gap:var(--sp-3);padding:0 clamp(16px,3vw,24px);z-index:150}@media (min-width: 1024px){.top-header{display:none}}.top-header-left{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.brand-title{font-family:var(--font-serif);font-size:1.125rem;color:var(--ink);text-decoration:none;letter-spacing:-.01em}.info-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s ease}.info-btn:hover{background:var(--surface-mid);color:var(--text)}.top-header-content{flex:1;min-width:0}.top-header-title-section h1{font-family:var(--font-sans);font-size:.9375rem;font-weight:600;color:var(--text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-header-title-section p{font-size:.75rem;color:var(--text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-header-right{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.btn,.footer-btn,.save-btn,.update-btn,.cancel-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:0 1.125rem;height:var(--tap);border-radius:var(--r);border:1px solid transparent;font-family:var(--font-sans);font-weight:600;font-size:.875rem;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease,transform .1s ease,box-shadow .1s ease}.btn.primary,.footer-btn.primary,.save-btn,.update-btn,button[type=submit]{background:var(--btn);color:var(--btn-text);border-color:var(--text)}.btn.primary,.footer-btn.primary{box-shadow:2px 2px 0 var(--text)}.btn.primary:hover:not(:disabled),.footer-btn.primary:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--text)}.btn.primary:active:not(:disabled),.footer-btn.primary:active:not(:disabled){transform:translate(2px,2px);box-shadow:0 0 0 var(--text)}.footer-btn.secondary{border-color:var(--text)!important;box-shadow:2px 2px 0 var(--text);transition:background .15s ease,transform .1s ease,box-shadow .1s ease}.footer-btn.secondary:hover:not(:disabled){background:var(--surface-warm);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--text)}.footer-btn.secondary:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}.footer-btn.danger{border-color:var(--text)!important;box-shadow:2px 2px 0 var(--text);transition:background .15s ease,transform .1s ease,box-shadow .1s ease}.footer-btn.danger:hover:not(:disabled){background:#991b1b;border-color:var(--text)!important;transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--text)}.footer-btn.danger:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}.btn.primary:hover,.footer-btn.primary:hover,.save-btn:hover,.update-btn:hover,button[type=submit]:hover{background:var(--btn-hover);border-color:var(--text)}.btn.secondary,.footer-btn.secondary,.cancel-btn,button[type=button]:not(.list-menu-trigger):not(.info-btn):not(.burger):not(.new-list-button):not(.table-action-btn):not(.file-upload-btn):not(.palette-swatch):not(.ptoggle__track):not(.primary):not(.danger):not(.editor-ghost-add){background:var(--surface);color:var(--text);border-color:var(--line)}.btn.secondary:hover,.footer-btn.secondary:hover,.cancel-btn:hover{background:var(--surface-warm)}.btn.ghost{background:transparent;color:var(--text);border-color:var(--line)}.btn.ghost:hover{background:var(--surface-warm)}.btn.danger,.footer-btn.danger{background:#b91c1c;color:#fff;border-color:#991b1b}.btn.danger:hover,.footer-btn.danger:hover{background:#991b1b;border-color:#7f1d1d}.btn:disabled,.footer-btn:disabled,.save-btn:disabled,.update-btn:disabled,button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.input,input[type=text],input[type=email],input[type=number],input[type=url],textarea,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:.9375rem;transition:border-color .15s ease,box-shadow .15s ease;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}input:focus,textarea:focus,select:focus,.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1a1773;display:grid;place-items:center;z-index:1000;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:auto;overscroll-behavior:contain}.modal-card{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--sp-4);width:min(92vw,460px);max-height:88dvh;overflow:auto;overscroll-behavior:contain}.modal-card h3{font-family:var(--font-serif);font-size:1.25rem;font-weight:400;margin:0 0 var(--sp-2);color:var(--text-strong)}.actions-row{display:flex;gap:var(--sp-2);justify-content:flex-end;padding-top:var(--sp-3);border-top:1.5px dashed var(--line);margin-top:var(--sp-3)}@media (max-width: 640px){.modal{align-items:flex-start;padding:6dvh 16px calc(12px + env(safe-area-inset-bottom))}.modal-card{max-height:90dvh}.actions-row{flex-direction:column-reverse}.actions-row .btn,.actions-row button{width:100%}}.mobile-actions{display:none}@media (max-width: 1023px){.mobile-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--surface-warm);border-top:1px solid var(--line);z-index:200}.mobile-actions .footer-btn{width:100%}}body.modal-open .mobile-actions,body.keyboard-open .mobile-actions,body.drawer-open .mobile-actions{display:none!important}@media (min-width: 1024px){.mobile-actions{display:none!important}}.mobile-nav{position:absolute;z-index:250}.burger{position:fixed;top:calc(8px + env(safe-area-inset-top));right:clamp(12px,4vw,16px);width:44px;height:44px;border:1.5px solid var(--text);background:var(--bg);border-radius:var(--r);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);z-index:1250;box-shadow:2px 2px 0 var(--text);transition:background .15s ease,transform .1s ease,box-shadow .1s ease}.burger:hover{background:var(--surface-warm);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--text)}.burger:active{transform:translate(2px,2px);box-shadow:none}@media (min-width: 1024px){.mobile-nav{display:none}}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1a1700;z-index:1200;opacity:0;transition:opacity .2s ease,background .26s cubic-bezier(.22,1,.36,1);-webkit-backdrop-filter:saturate(150%) blur(2px);backdrop-filter:saturate(150%) blur(2px);display:grid}.drawer.open{opacity:1;background:#1c1a1766}.drawer-panel{width:min(84vw,300px);background:var(--surface-warm);border-left:1.5px dashed var(--line);height:100%;padding:calc(72px + env(safe-area-inset-top)) 16px 16px;display:flex;flex-direction:column;justify-self:end;transform:translate(16px);opacity:.98;transition:transform .3s cubic-bezier(.22,1,.36,1);will-change:transform;box-shadow:-12px 0 40px #1c1a1724}.drawer.open .drawer-panel{transform:translate(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--sp-3);margin-bottom:var(--sp-3);border-bottom:1.5px dashed var(--line)}.drawer-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:var(--sp-3) 0 var(--sp-1)}.drawer-nav{display:flex;flex-direction:column;gap:var(--sp-1)}.drawer-lists{display:flex;flex-direction:column;gap:2px}.drawer-sep{height:1px;background:var(--line);margin:var(--sp-3) 0 var(--sp-2)}.drawer-footer{display:flex;flex-direction:column;gap:var(--sp-1)}.drawer-footer .copy,.drawer-footer .copy.small{font-size:.75rem;color:var(--text-faint)}.drawer .link{display:block;padding:8px 10px;border-radius:var(--r-sm);color:var(--text);font-size:.9rem}.drawer .link:hover,.drawer .link.active{background:var(--surface-mid)}.drawer .link.small{font-size:.8125rem;color:var(--text-muted)}.drawer .nav-new{display:flex;align-items:center;padding:10px 14px;background:var(--btn);color:var(--btn-text);border:1.5px solid var(--text);border-radius:var(--r);font-weight:600;font-size:.875rem;box-shadow:2px 2px 0 var(--text);transition:background .15s ease,transform .1s ease,box-shadow .1s ease}.drawer .nav-new:hover{background:var(--btn-hover);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--text)}.drawer .nav-new:active{transform:translate(2px,2px);box-shadow:none}.drawer .close{width:36px;height:36px;border:1px solid var(--line);background:transparent;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text)}.drawer .close:hover{background:var(--surface-mid)}.drawer-lists .list-row{display:flex;align-items:center;gap:8px;padding:8px 10px}.drawer-lists .list-link{color:var(--text);flex:1}.list-menu{position:absolute;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:4px;z-index:120;min-width:160px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.toast-global{position:fixed;top:16px;left:50%;transform:translate(-50%);background:var(--text-strong);color:var(--bg);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:10px 16px;font-size:.875rem;box-shadow:var(--shadow);animation:toastfade 2.8s ease forwards;z-index:9999;white-space:nowrap}@keyframes toastfade{0%{opacity:0;transform:translate(-50%,-6px)}10%{opacity:1;transform:translate(-50%)}85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}#root .hide-on-mobile{display:inline}#root .show-on-mobile{display:none}@media (max-width: 1023px){#root .hide-on-mobile{display:none}#root .show-on-mobile{display:inline-block}}@supports (padding-bottom: env(safe-area-inset-bottom)){.app-content{padding-bottom:calc(var(--sp-5) + env(safe-area-inset-bottom))}}.home-bg{background:var(--bg)}
