@import "https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;700&family=Klee+One:wght@400;600&display=swap";
@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}}:root{--cream:#fdf6e3;--cream-dark:#f5e6c8;--kraft:#c4a77d;--kraft-dark:#a68b5b;--pink-soft:#f2d7d9;--pink-muted:#e8b4b8;--mint:#d4e9e2;--lavender:#e2d4e8;--yellow-soft:#f9efc7;--coral:#e8a598;--brown-text:#5d4e37;--brown-light:#8b7355;--tape-pink:#f5c6cb;--tape-mint:#b8e0d2;--tape-yellow:#f9e79f;--tape-lavender:#d7bde2;--tape-peach:#fadadd;--shadow-soft:0 2px 8px #5d4e371a;--shadow-lifted:0 8px 24px #5d4e3726,0 4px 8px #5d4e371a;--font-display:"Klee One",cursive;--font-body:"Noto Sans TC",sans-serif}*{box-sizing:border-box}body{background-color:var(--cream);color:var(--brown-text);font-family:var(--font-body);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E"),linear-gradient(#b4a0821f 1px,#0000 1px),linear-gradient(90deg,#b4a0821f 1px,#0000 1px);background-size:200px 200px,32px 32px,32px 32px;min-height:100vh;line-height:1.6}.app-header{background:linear-gradient(180deg,var(--cream)0%,var(--cream-dark)100%);border-bottom:3px dashed var(--kraft);z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1rem 1.5rem;position:sticky;top:0}.header-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1400px;margin:0 auto;display:flex}.app-title{font-family:var(--font-display);color:var(--brown-text);align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600;display:flex}.app-title:before{content:"📸";font-size:1.3rem}.login-button{border:2px solid var(--kraft);font-family:var(--font-body);color:var(--brown-text);cursor:pointer;box-shadow:var(--shadow-soft);background:#fff;border-radius:2rem;align-items:center;gap:.75rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .2s;display:inline-flex}.login-button:hover{box-shadow:var(--shadow-lifted);border-color:var(--kraft-dark);transform:translateY(-2px)}.login-button.loading{opacity:.7;cursor:wait}.google-icon{flex-shrink:0}.user-info{align-items:center;gap:.75rem;display:flex}.user-avatar{border:2px solid var(--kraft);border-radius:50%;width:36px;height:36px}.user-name{color:var(--brown-text);font-weight:500}.logout-button{background:var(--pink-soft);border:2px solid var(--pink-muted);font-family:var(--font-body);color:var(--brown-text);cursor:pointer;border-radius:1rem;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.logout-button:hover{background:var(--pink-muted)}.main-container{max-width:1400px;margin:0 auto;padding:1.5rem}.welcome-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:70vh;padding:2rem;display:flex}.welcome-card{border:3px solid var(--kraft);max-width:400px;box-shadow:var(--shadow-lifted);background:#fff;border-radius:1rem;padding:3rem 2rem;position:relative}.welcome-card:before{content:"";background:var(--tape-mint);opacity:.9;width:80px;height:24px;position:absolute;top:-12px;left:50%;transform:translate(-50%)rotate(-2deg)}.welcome-icon{margin-bottom:1rem;font-size:4rem}.welcome-title{font-family:var(--font-display);color:var(--brown-text);margin-bottom:.5rem;font-size:1.75rem}.welcome-subtitle{color:var(--brown-light);margin-bottom:2rem;font-size:.95rem}.access-denied{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:70vh;padding:2rem;display:flex}.denied-card{border:3px solid var(--coral);max-width:400px;box-shadow:var(--shadow-lifted);background:#fff;border-radius:1rem;padding:3rem 2rem}.denied-icon{margin-bottom:1rem;font-size:3.5rem}.denied-title{font-family:var(--font-display);color:var(--coral);margin-bottom:.5rem;font-size:1.5rem}.denied-message{color:var(--brown-light);font-size:.95rem}.breadcrumb{border:2px solid var(--kraft);box-shadow:var(--shadow-soft);background:#fff;border-radius:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem;position:relative}.breadcrumb-tape{background:var(--tape-yellow);opacity:.9;width:60px;height:18px;position:absolute;top:-8px;left:20px;transform:rotate(-1deg)}.breadcrumb-list{flex-wrap:wrap;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.breadcrumb-item{align-items:center;gap:.25rem;display:flex}.breadcrumb-separator{color:var(--kraft);margin:0 .25rem;font-weight:300}.breadcrumb-link{font-family:var(--font-body);color:var(--brown-light);cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.25rem .5rem;font-size:.9rem;transition:all .2s}.breadcrumb-link:hover{background:var(--cream);color:var(--brown-text)}.breadcrumb-current{color:var(--brown-text);padding:.25rem .5rem;font-weight:500}.section-title{font-family:var(--font-display);color:var(--brown-text);align-items:center;gap:.75rem;margin-bottom:1rem;font-size:1.25rem;font-weight:600;display:flex}.title-tape{background:var(--tape-peach);width:40px;height:14px;display:inline-block;transform:rotate(-2deg)}.folders-section{margin-bottom:2rem}.folders-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.folder-item{border:2px solid var(--kraft);cursor:pointer;box-shadow:var(--shadow-soft);background:#fff;border-radius:.75rem;align-items:center;gap:.75rem;padding:1rem;transition:all .2s;display:flex}.folder-item:hover{box-shadow:var(--shadow-lifted);border-color:var(--kraft-dark);transform:translateY(-3px)}.folder-icon{width:32px;height:32px;color:var(--kraft-dark);flex-shrink:0}.folder-name{color:var(--brown-text);-webkit-line-clamp:2;word-break:break-word;text-align:left;-webkit-box-orient:vertical;font-size:.85rem;font-weight:500;line-height:1.4;display:-webkit-box;overflow:hidden}.media-section{margin-bottom:6rem}.media-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:.5rem;display:grid}@media (min-width:640px){.media-grid{grid-template-columns:repeat(3,1fr);gap:2rem}}@media (min-width:1024px){.media-grid{grid-template-columns:repeat(4,1fr);gap:2.5rem}}@media (min-width:1280px){.media-grid{grid-template-columns:repeat(5,1fr)}}.media-item{transform:rotate(var(--rotation,0deg));animation:.4s backwards fadeIn;animation-delay:var(--delay,0s);cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative}@keyframes fadeIn{0%{opacity:0;transform:rotate(var(--rotation,0deg))translateY(20px)}to{opacity:1;transform:rotate(var(--rotation,0deg))translateY(0)}}.media-item:hover{z-index:10;transform:rotate(0)translateY(-8px)scale(1.02)}.media-item.selected{z-index:10;transform:rotate(0)scale(1.02)}.washi-tape{transform:translateX(-50%)rotate(var(--tape-rotation,2deg));background:var(--tape-pink);opacity:.85;z-index:5;--tape-rotation:calc(var(--rotation,0deg)*-1 + 3deg);width:50px;height:18px;position:absolute;top:-10px;left:50%}.media-item:nth-child(2n) .washi-tape{background:var(--tape-mint)}.media-item:nth-child(3n) .washi-tape{background:var(--tape-yellow)}.media-item:nth-child(5n) .washi-tape{background:var(--tape-lavender)}.polaroid-frame{box-shadow:var(--shadow-soft);background:#fff;border-radius:2px;padding:.5rem .5rem 2.5rem;transition:box-shadow .3s}.media-item:hover .polaroid-frame{box-shadow:var(--shadow-lifted)}.media-item.selected .polaroid-frame{box-shadow:0 0 0 3px var(--pink-muted),var(--shadow-lifted)}.photo-container{aspect-ratio:1;background:var(--cream);position:relative;overflow:hidden}.photo-image{object-fit:cover;width:100%;height:100%;transition:transform .3s}.media-item:hover .photo-image{transform:scale(1.05)}.photo-placeholder{background:var(--cream-dark);justify-content:center;align-items:center;width:100%;height:100%;font-size:2.5rem;display:flex}.video-indicator{color:#fff;background:#0009;border-radius:.25rem;align-items:center;gap:.35rem;padding:.25rem .5rem;display:flex;position:absolute;bottom:.5rem;left:.5rem}.video-indicator svg{width:14px;height:14px}.video-duration{font-size:.75rem;font-weight:500}.selection-check{border:2px solid var(--kraft);opacity:0;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex;position:absolute;top:.5rem;left:.5rem}.media-item:hover .selection-check,.selection-check.checked{opacity:1}.selection-check.checked{background:var(--pink-muted);border-color:var(--pink-muted)}.selection-check svg{color:#fff;width:14px;height:14px}.view-button{border:2px solid var(--kraft);opacity:0;cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;position:absolute;top:.5rem;right:.5rem}.media-item:hover .view-button{opacity:1}.view-button:hover{background:var(--mint);border-color:var(--mint)}.view-button svg{width:16px;height:16px;color:var(--brown-text)}.photo-caption{background:#fff;flex-direction:column;gap:.125rem;padding:.5rem;display:flex;position:absolute;bottom:0;left:0;right:0}.photo-name{color:var(--brown-text);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.photo-size{color:var(--brown-light);font-size:.65rem}.selection-bar{z-index:50;background:linear-gradient(180deg,transparent 0%,var(--cream)20%);pointer-events:none;padding:1rem;position:fixed;bottom:0;left:0;right:0}.selection-bar-content{border:3px solid var(--pink-muted);pointer-events:auto;background:#fff;border-radius:2rem;justify-content:space-between;align-items:center;gap:1rem;max-width:600px;margin:0 auto;padding:1rem 1.5rem;animation:.3s slideUp;display:flex;box-shadow:0 -4px 20px #5d4e3726}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.selection-info{align-items:baseline;gap:.35rem;display:flex}.selection-count{font-family:var(--font-display);color:var(--pink-muted);font-size:1.5rem;font-weight:600}.selection-label{color:var(--brown-text);font-size:.9rem}.selection-actions{gap:.75rem;display:flex}.clear-button{border:2px solid var(--kraft);font-family:var(--font-body);color:var(--brown-text);cursor:pointer;background:0 0;border-radius:1.5rem;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.clear-button:hover{background:var(--cream)}.trash-button{background:var(--coral);border:2px solid var(--coral);font-family:var(--font-body);color:#fff;cursor:pointer;border-radius:1.5rem;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.trash-button:hover{background:#d9928a;border-color:#d9928a}.trash-button svg{width:16px;height:16px}.lightbox-overlay{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#5d4e37e6;justify-content:center;align-items:center;padding:1rem;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.lightbox-container{flex-direction:column;max-width:95vw;max-height:95vh;display:flex;position:relative}@media (min-width:1024px){.lightbox-container{flex-direction:row;gap:1.5rem}}.lightbox-close{border:2px solid var(--kraft);cursor:pointer;z-index:20;background:#fffffff2;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:.5rem;right:.5rem;box-shadow:0 2px 8px #0003}@media (min-width:768px){.lightbox-close{background:#fff;width:40px;height:40px;top:-2.5rem;right:-.5rem;box-shadow:0 2px 8px #00000026}}.lightbox-close:hover{background:var(--pink-soft);transform:rotate(90deg)}.lightbox-close svg{width:18px;height:18px;color:var(--brown-text)}@media (min-width:768px){.lightbox-close svg{width:20px;height:20px}}.lightbox-content{flex-direction:column;gap:1rem;display:flex}@media (min-width:1024px){.lightbox-content{flex-direction:row;gap:1.5rem}}.lightbox-media-wrapper{background:#fff;border-radius:4px;padding:1rem;position:relative;box-shadow:0 8px 32px #0000004d}.lightbox-tape{opacity:.85;z-index:5;width:60px;height:20px;position:absolute}.lightbox-tape-left{background:var(--tape-mint);top:-10px;left:20%;transform:rotate(-5deg)}.lightbox-tape-right{background:var(--tape-peach);top:-10px;right:20%;transform:rotate(3deg)}.lightbox-image{object-fit:contain;border-radius:2px;max-width:80vw;max-height:70vh}.lightbox-video{border-radius:2px;max-width:80vw;max-height:70vh}@media (min-width:1024px){.lightbox-image,.lightbox-video{max-width:60vw;max-height:80vh}}.lightbox-info{min-width:250px;max-width:100%;box-shadow:var(--shadow-soft);background:#fff;border-radius:.75rem;padding:1.5rem}@media (min-width:1024px){.lightbox-info{max-width:280px}}.lightbox-filename{font-family:var(--font-display);color:var(--brown-text);word-break:break-word;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.lightbox-metadata{flex-direction:column;gap:.75rem;display:flex}.metadata-item{border-bottom:1px dashed var(--kraft);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.5rem;display:flex}.metadata-label{color:var(--brown-light);font-size:.85rem}.metadata-value{color:var(--brown-text);text-align:right;font-size:.85rem;font-weight:500}.dialog-overlay{z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#5d4e37b3;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.dialog-container{border:3px solid var(--kraft);background:#fff;border-radius:1rem;width:100%;max-width:400px;padding:2rem;animation:.3s cubic-bezier(.34,1.56,.64,1) popIn;position:relative;box-shadow:0 8px 32px #5d4e3740}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.dialog-tape{background:var(--tape-lavender);opacity:.9;width:70px;height:20px;position:absolute;top:-10px;left:50%;transform:translate(-50%)rotate(-2deg)}.dialog-content{text-align:center}.dialog-icon{width:60px;height:60px;color:var(--coral);margin:0 auto 1rem}.dialog-icon svg{width:100%;height:100%}.dialog-title{font-family:var(--font-display);color:var(--brown-text);margin-bottom:.75rem;font-size:1.5rem;font-weight:600}.dialog-message{color:var(--brown-text);margin-bottom:.5rem;font-size:1rem}.dialog-message strong{color:var(--coral)}.dialog-hint{color:var(--brown-light);margin-bottom:1.5rem;font-size:.85rem}.dialog-actions{justify-content:center;gap:.75rem;display:flex}.dialog-button{font-family:var(--font-body);cursor:pointer;border-radius:2rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.dialog-button.cancel{border:2px solid var(--kraft);color:var(--brown-text);background:0 0}.dialog-button.cancel:hover{background:var(--cream)}.dialog-button.confirm{background:var(--coral);border:2px solid var(--coral);color:#fff}.dialog-button.confirm:hover:not(:disabled){background:#d9928a;border-color:#d9928a}.dialog-button:disabled{opacity:.7;cursor:not-allowed}.spinner{border:2px solid #0000;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.loading-spinner{gap:.5rem;margin-bottom:1rem;display:flex}.spinner-photo{border:2px solid var(--kraft);background:#fff;border-radius:2px;width:40px;height:50px;animation:.6s ease-in-out infinite bounce}.spinner-photo:nth-child(2){animation-delay:.1s}.spinner-photo:nth-child(3){animation-delay:.2s}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.loading-text{font-family:var(--font-display);color:var(--brown-light)}.loading-dots:after{content:"";animation:1.5s steps(4,end) infinite dots}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.skeleton-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:.5rem;display:grid}@media (min-width:640px){.skeleton-grid{grid-template-columns:repeat(3,1fr);gap:2rem}}@media (min-width:1024px){.skeleton-grid{grid-template-columns:repeat(4,1fr);gap:2.5rem}}.skeleton-item{transform:rotate(var(--rotation,0deg));animation:1.5s ease-in-out infinite pulse;animation-delay:var(--delay,0s)}@keyframes pulse{50%{opacity:.5}}.skeleton-tape{background:var(--cream-dark);border-radius:2px;width:50px;height:18px;margin:0 auto -10px}.skeleton-frame{box-shadow:var(--shadow-soft);background:#fff;border-radius:2px;padding:.5rem .5rem 2.5rem}.skeleton-image{aspect-ratio:1;background:linear-gradient(90deg,var(--cream)25%,var(--cream-dark)50%,var(--cream)75%);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-caption{background:var(--cream);border-radius:.25rem;height:1.5rem;margin-top:.5rem}.empty-state,.error-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-icon,.error-icon{margin-bottom:1rem;font-size:4rem}.empty-state p,.error-state p{font-family:var(--font-display);color:var(--brown-light);font-size:1.1rem}.retry-button{border:2px solid var(--kraft);font-family:var(--font-body);color:var(--brown-text);cursor:pointer;background:#fff;border-radius:2rem;margin-top:1rem;padding:.75rem 1.5rem;font-size:.95rem;transition:all .2s}.retry-button:hover{background:var(--mint);border-color:var(--mint)}.toast{box-shadow:var(--shadow-lifted);z-index:250;border-radius:2rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;animation:.3s slideUp;position:fixed;bottom:6rem;left:50%;transform:translate(-50%)}.toast-success{background:var(--mint);color:#2d5a4a;border:2px solid #9ed6c3}.toast-error{background:var(--pink-soft);color:#8b4049;border:2px solid var(--pink-muted)}.load-more-indicator{justify-content:center;padding:2rem;display:flex}.load-more-button{border:2px dashed var(--kraft);font-family:var(--font-display);color:var(--brown-text);cursor:pointer;background:#fff;border-radius:2rem;margin:2rem auto;padding:.75rem 2rem;font-size:.95rem;transition:all .2s;display:block}.load-more-button:hover{background:var(--cream);border-style:solid}@media (max-width:640px){.app-title{font-size:1.25rem}.header-content{flex-direction:column;align-items:stretch;gap:.75rem}.user-info{justify-content:space-between}.selection-bar-content{border-radius:1rem;flex-direction:column;padding:1rem}.selection-info{justify-content:center}.selection-actions{justify-content:center;width:100%}.lightbox-info{max-height:30vh;overflow-y:auto}}
